判断给定的一个数是否为奇数或偶数、质数或合数、完数、水仙花数等。
时间: 2023-07-10 20:19:50 浏览: 161
下面分别介绍如何判断一个数是否为奇数或偶数、质数或合数、完数、水仙花数。
1. 判断奇数或偶数
可以通过对2取模来判断一个数是否为奇数或偶数。如果一个数x对2取模的结果为0,则x为偶数,否则x为奇数。
```c
int is_even(int x) {
return x % 2 == 0;
}
```
2. 判断质数或合数
一个大于1的数,如果只能被1和它本身整除,那么它就是一个质数;否则它就是一个合数。可以使用循环从2开始依次除以每个小于它的数,如果能被整除,则说明它不是质数。
```c
int is_prime(int x) {
if (x <= 1)
return 0;
for (int i = 2; i < x; i++)
if (x % i == 0)
return 0;
return 1;
}
```
3. 判断完数
一个数如果等于它的因子之和(不包括它本身),则它就是一个完数。可以使用循环从1开始依次除以每个小于它的数,如果能被整除,则说明它是它的一个因子。
```c
int is_perfect(int x) {
int sum = 0;
for (int i = 1; i < x; i++)
if (x % i == 0)
sum += i;
return sum == x;
}
```
4. 判断水仙花数
一个三位数如果它的各位数字的立方和等于它本身,则它就是一个水仙花数。可以使用除和模运算分别取出它的百位、十位和个位数字,然后计算它们的立方和。
```c
int is_narcissistic(int x) {
int sum = 0;
int temp = x;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == x;
}
```
在上面的代码中,`x`为要判断的数,函数返回值为1表示满足条件,为0表示不满足条件。
阅读全文