春节小练习——编程题

xiaoxiao2021-02-28  23

请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。

#include <iostream> using namespace std; #include <math.h> bool isSqrt(double num)//判断是否完全平方数 { int k = sqrt(num); if (k * k == num) return true; else return false; } bool isRepeat(int num)//判断是否有两位数字相同 { int a[10]; memset(&a, 0, sizeof(a)); while (num) { a[num % 10]++;//个十百位上的数分别放入对应编号的数组 num = num / 10; } for (int i = 0; i < sizeof(a) / sizeof(int); i++) { if (a[i] == 2) return true; } return false; } int main() { for (int i = 1; i < 99999; i++) { if (isSqrt(i) && isRepeat(i)) printf("%d\n", i); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-2596083.html

最新回复(0)