如何编写一个c语言函数来确定一个数是否为自守数(包括0和1),即其平方的尾数与其自身相等?
时间: 2024-10-23 19:13:00 浏览: 48
在C语言中,你可以通过定义一个函数,名为`isSelfConjugate`,接收一个整数参数`num`,然后检查它是否满足自守数的条件。以下是实现该功能的一个简单示例:
```c
#include <stdio.h>
#include <stdbool.h> // 使用bool类型以便于返回值
// 定义判断自守数的函数
bool isSelfConjugate(int num) {
// 特殊处理0和1
if (num == 0 || num == 1) {
return true;
}
// 计算数字的平方,并取尾数
int squared = num * num;
int last_digit_squared = squared % 10;
// 比较平方的尾数和原始数的尾数
return last_digit_squared == num;
}
int main() {
int input;
printf("请输入一个整数(包括0和1):");
scanf("%d", &input);
if (isSelfConjugate(input)) {
printf("%d 是自守数\n", input);
} else {
printf("%d 不是自守数\n", input);
}
return 0;
}
```
上述代码首先检查输入的数是否为0或1,如果是,则直接返回true,因为它们都是自守数。然后计算平方并取尾数,最后比较这两个尾数是否相等。
阅读全文