/* OMG C SUX LAWL@U */ #include #include void eradicate (int input, int *integer_part, int *radical_part) { int i, i2; *radical_part = input; *integer_part = 1; for (i = 2; (i2 = pow(i, 2)) <= *radical_part; i ++) { if ((double)((int)*radical_part / i2) == (double)((double)*radical_part / i2)) { *integer_part *= i; *radical_part /= i2; i = 1; } } } int main () { int i; for (i = 1; i < 1024; i ++) { int integer_part, radical_part; eradicate(i, &integer_part, &radical_part); printf("i = %d: ", i); if (radical_part != 1) printf("%d * sqrt(%d)\n", integer_part, radical_part); else printf("OMG PERFECT SQUARE! %d\n", integer_part); } return 0; }