输出所有形如aabb的完全平方数。
#include#include int main(){ int a,b,n; for(a=1;a<=9;a++) for(b=0;b<=9;b++) { n=1100*a+11*b; if(sqrt(n)==floor(sqrt(n))) //if(sqrt(n)==floor(sqrt(n)))判断sqrt(n)是不是整数 //理论上没问题,但不保险;浮点数运算有误差 printf("%d ",n); } printf("\n"); return 0;}
1 #include2 #include 3 int main() 4 { 5 int a,b; 6 for(a=1;a<=9;a++) 7 for(b=0;b<=9;b++) 8 { 9 int n=1100*a+11*b;10 int m=floor(sqrt(n)+0.5); /*floor(x+0.5)四舍五入 floor(x) 其功能是“向下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接去掉小数部分) floor(n)对n向负方向舍入 floor(3.14) = 3.0 floor(9.999999) = 9.0 floor(-3.14) = -4.0 floor(-9.999999) = -10 floor(3.5)=3; floor(-3.2)=-4 */ 11 if(m*m==n)12 printf("%d ",n);13 }14 printf("\n");15 return 0;16 }
1 #include2 int main() 3 { 4 int n; 5 for(int i=1;;i++) 6 { 7 n=i*i; 8 if(n<1100) 9 continue;10 if(n>9999)11 break;12 int a=n/100;13 int b=n%100;14 if(a/10==a%10&&b/10==b%10)15 printf("%d ",n); 16 }17 printf("\n");18 return 0;19 }