判断一个三位正整数N是否为水仙花数的C程序代码
时间: 2023-09-19 09:09:27 浏览: 82
下面是判断一个三位正整数是否为水仙花数的C程序代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n;
printf("请输入一个三位正整数:");
scanf("%d", &n);
int a = n / 100; // 分解百位数
int b = n / 10 % 10; // 分解十位数
int c = n % 10; // 分解个位数
if (n == pow(a, 3) + pow(b, 3) + pow(c, 3)) {
printf("%d是水仙花数\n", n);
} else {
printf("%d不是水仙花数\n", n);
}
return 0;
}
```
说明:
水仙花数就是一个三位数,它的每个位上的数字的立方和等于它本身。例如:153就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
该程序首先通过 `scanf` 函数读入一个三位正整数 `n`,然后将 `n` 分解成百位数 `a`、十位数 `b` 和个位数 `c`。接着使用 `pow` 函数计算出 `a^3 + b^3 + c^3` 的值,如果该值等于 `n`,则说明 `n` 是一个水仙花数,否则不是。最后使用 `printf` 函数输出结果。
相关问题
如果一个三位正整数n的各位数字的立方和等于n自身则称n为水仙花数编写程序,输入一个三位正整数n,判断n是否为水仙花数。如果是输出“yes”,否则输出“no”。
您好,根据您的问题,我可以回答。以下是程序的代码:
#include <stdio.h>
int main() {
int n, sum = 0, temp;
scanf("%d", &n);
temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == n) {
printf("yes");
} else {
printf("no");
}
return 0;
}
希望能够帮到您!
编写程序:判断一个给定的三位正整数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。 输入格式: 通过键盘输入一个需要判断的整数 N(100≤N≤999)。 输出格式: 如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value
以下是判断一个给定的三位正整数是否为水仙花数的 Python 代码:
```
N = int(input())
if N < 100 or N > 999:
print("Invalid Value")
else:
a = N // 100
b = (N // 10) % 10
c = N % 10
if a**3 + b**3 + c**3 == N:
print("Yes")
else:
print("No")
```
如果输入的 N 是三位水仙花数,则输出 Yes,否则输出 No。如果 N 不是三位数,则输出 Invalid Value。
阅读全文