同构数
描述
找出1至99之间的全部同构数。
注:正整数n若是它平方数的尾部,则称n为同构数。例如,6是其平方数36的尾部,25是其平方数625的尾部,6与25都是同构数。
要求编写一个函数,判断正整数是否为同构的函数。
输入
无
输出
输出全部同构数 每个数后面输出一个空格。
输入样例 1
本题无输入样例
输出样例 1
1 5 6 ...
#include <iostream>
using namespace std;
// 判断一个数是否为同构数的函数
bool isAutomorphic(int num) {
int square = num * num; // 计算数字的平方
int temp = num;
// 判断num是否是square的尾部
while (temp > 0) {
if (square % 10 != temp % 10) {
return false;
}
square /= 10;
temp /= 10;
}
return true;
}
int main() {
// 遍历1到99的所有数字,找出同构数
for (int i = 1; i <= 99; ++i) {
if (isAutomorphic(i)) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
如有侵权,联系删除