例:aabb
输出所有形如aabb的四位完全平方数(前两位数字相等、后两位数字相等)。
解:
法(1):(a)构造aabb形式的数;(b)判断是否为完全平方数。
代码:
#include<stdio.h> #include<math.h> int main() { int a, b, n; double m; for(a = 1; a <= 9; a++) { for(b = 0; b <= 9; b++) { n = 1100*a + 11*b; m = sqrt(n); if(floor(m+0.5) == m) printf("(1):%d\n", n);//判断两个浮点数是否相等,floor函数的作用是返回m的整数部分,加上0.5是为了减少误差影响。 } } return 0; }
结果:
#include<stdio.h> int main() { int a, b, x, n; for(x = 32; ; x++) { n = x * x; if(n > 9999) break; a = n / 100; b = n % 100; if(a/10 == a%10 && b/10 == b%10) printf("(2):%d\n", n); } return 0; }
结果: