形如aabb的4位完全平方数
解法一:
#include<stdio.h> #include<math.h> //aabb问题 //解法一:利用数字的特殊形式去构造数字,如果该数的平方根四舍五入后的平方等于原数,说明该数字是完全平方数 int main(void) { for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { int n = 1100 * i + 11 * j; //floor返回不超过x的最大整数 int m = floor(sqrt(n) + 0.5); if (m * m == n)//加0.5是为了防止浮点数误差,比如1可能会变成0.9999999999 printf("%d", n); } } return 0; }
解法二:
#include<stdio.h> //解法二: //从1开始取平方,枚举出所有在取值范围的数,然后判断是否满足aabb int main(void) { for (int i = 1;; i++) { int n = i * i; if (n < 1000) continue; if (n > 9999)break; int a = n / 100; int b = n % 100; if (a % 10 == a / 10 && b % 10 == b / 10) printf("%d", n); } return 0; }
计算机小白记录学习过程,喜欢就点个推荐和关注吧O(∩_∩)O哈哈~

浙公网安备 33010602011771号