题目描述
找出1至99之间的全部同构数。注:正整数n若是它平方数的尾部,则称n为同构数。例如,6是其平方数36的尾部,25是其平方数625的尾部,6与25都是同构数。
输入格式:
无
输出格式:
在一行中输出全部同构数,每个数后面输出一个空格。
案例代码
#include <stdio.h>
// 函数声明
int isAutomorphic(int num);
int main() {
printf("1至99之间的全部同构数为:\n");
// 遍历1到99之间的数字
for (int i = 1; i <= 99; i++) {
if (isAutomorphic(i)) { // 判断是否为同构数
printf("%d ", i);
}
}
printf("\n");
return 0;
}
// 判断一个数是否为同构数的函数
int isAutomorphic(int num) {
int square = num * num;
// 逐位比较
while (num != 0) {
if (num % 10 != square % 10) {
return 0; // 不是同构数
}
num /= 10;
square /= 10;
}
return 1; // 是同构数
}
这个程序中,我们定义了一个名为 isAutomorphic
的函数来判断一个数是否为同构数。在主函数中,我们遍历1至99之间的所有数字,对每个数字调用 isAutomorphic
函数判断是否为同构数,如果是,则输出该数字。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END