/* * A061144.c * Calculates the entries of Sloane's A061144 (sum of areas of triangles on an n X n grid) * * Created by Nathaniel Johnston (nathaniel@nathanieljohnston.com) * April 29, 2011 */ #include #include unsigned char pt[256][256]; FILE *file; unsigned int triangleArea(unsigned short a1, unsigned short a2, unsigned short b1, unsigned short b2, unsigned short c1, unsigned short c2) { int sd1, sd2, sd3; double sqsd1, sqsd2, sqsd3; sd1 = (b1-a1)*(b1-a1) + (b2-a2)*(b2-a2); sqsd1 = sqrt(sd1); sd2 = (c1-b1)*(c1-b1) + (c2-b2)*(c2-b2); sqsd2 = sqrt(sd2); sd3 = (a1-c1)*(a1-c1) + (a2-c2)*(a2-c2); sqsd3 = sqrt(sd3); if(sqsd1 + sqsd2 > sqsd3 && sqsd2 + sqsd3 > sqsd1 && sqsd3 + sqsd1 > sqsd2)return fabs((b1-a1)*(c2-a2)-(b2-a2)*(c1-a1)); return 0; } int main () { unsigned short a, b, c, d, a1, a2, b1, b2, maxsz, sz, sz2; unsigned long long numPts; printf("This tool will calculate the entries of Sloane's A061144 (sum of areas of triangles on an n X n grid).\nPlease enter the number of terms to compute (an integer from 1 to 255): "); scanf("%d",&maxsz); numPts = 0; file = fopen("b061144.txt","w"); fprintf(file,"1 0\n"); fclose(file); printf("1 0\n"); for(sz=2;sz<=maxsz;sz++){ numPts = 0; sz2 = sz*sz; for(a=0;a