c语言编写函数判断一个数是否是同构数
时间: 2023-08-11 16:05:23 浏览: 169
同构数也被称为自守数,是指一个数字的平方的末尾数字与该数字本身相同。例如,5的平方是25,末尾数字是5,因此5是同构数。
以下是一个C语言函数,用于判断一个数字是否是同构数:
```c
#include <stdio.h>
int isAutomorphic(int num) {
int square = num * num;
while (num > 0) {
if (num % 10 != square % 10) {
return 0;
}
num /= 10;
square /= 10;
}
return 1;
}
int main() {
int num;
printf("请输入一个数字:");
scanf("%d", &num);
if (isAutomorphic(num)) {
printf("%d是同构数\n", num);
} else {
printf("%d不是同构数\n", num);
}
return 0;
}
```
该函数首先计算该数字的平方,然后从数字的末位开始,依次比较数字和平方的末位数字,如果不相同,则该数字不是同构数。如果所有末位数字都相同,则该数字是同构数。
相关问题
判断一个数是否是同构数,用C语言
同构数是指一个数的平方的各位数字排列后可以得到原数。例如,25的平方为625,将数字重新排列可以得到原数25,因此25是同构数。
以下是一个判断同构数的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
int n, square;
char original[10], sorted[10];
printf("请输入一个整数:");
scanf("%d", &n);
square = n * n; // 计算平方
// 将原数和平方的数字转换为字符串
sprintf(original, "%d", n);
sprintf(sorted, "%d", square);
// 对字符串进行排序
int len = strlen(original);
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (original[i] > original[j]) {
// 交换字符
char temp = original[i];
original[i] = original[j];
original[j] = temp;
}
}
}
// 比较原数和平方的排序后的字符串
if (strcmp(original, sorted) == 0) {
printf("%d是同构数。\n", n);
} else {
printf("%d不是同构数。\n", n);
}
return 0;
}
```
这个程序首先读入一个整数,然后计算它的平方。接着,将原数和平方的数字转换为字符串,并对原数的字符串进行排序。最后,比较原数和平方的排序后的字符串,如果相等,则说明该数是同构数。
用C语言编写输入一个两位数,判断是否为同构数的代码
同构数是指将一个数的各个数字的平方相加得到一个新的数,然后再对新数进行同样的操作,如果最终得到的结果是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` 函数来判断它是否为同构数。如果是,则输出提示信息;否则输出不是同构数的信息。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)