用C语言编写输入一个两位数,判断是否为同构数的代码
时间: 2023-12-10 22:42:40 浏览: 115
同构数是指将一个数的各个数字的平方相加得到一个新的数,然后再对新数进行同样的操作,如果最终得到的结果是1,则该数为同构数。以下是用C语言编写的判断是否为同构数的代码:
```c
#include <stdio.h>
int isIsomorphic(int num) {
int temp = 0;
while (num != 1 && num != 4) {
temp = 0;
while (num > 0) {
int digit = num % 10;
temp += digit * digit;
num /= 10;
}
num = temp;
}
return num == 1;
}
int main() {
int num;
printf("请输入一个两位数:");
scanf("%d", &num);
if (isIsomorphic(num)) {
printf("%d是同构数\n", num);
} else {
printf("%d不是同构数\n", num);
}
return 0;
}
```
代码中的 `isIsomorphic` 函数用于判断一个数是否为同构数。该函数使用了一个循环来计算数的各个数字的平方和,并不断对新数进行同样的操作,直到最终得到的结果为1或4。如果结果为1,则该数为同构数,返回1;否则返回0。
在 `main` 函数中,读入一个两位数 `num`,然后调用 `isIsomorphic` 函数来判断它是否为同构数。如果是,则输出提示信息;否则输出不是同构数的信息。
阅读全文