编写程序,输入一个三位正整数n,判断n是否为水仙花数。如果是输出“yes”,否则输出“no”。
时间: 2023-04-04 20:03:01 浏览: 67
您好,这是一个关于编程的问题。以下是我的回答:
可以使用以下代码来判断一个三位正整数n是否为水仙花数:
#include <stdio.h>
#include <math.h>
int main()
{
int n, sum = 0, temp;
printf("请输入一个三位正整数:");
scanf("%d", &n);
temp = n;
while (temp > 0)
{
sum += pow(temp % 10, 3);
temp /= 10;
}
if (n == sum)
printf("yes\n");
else
printf("no\n");
return 0;
}
希望能对您有所帮助。
相关问题
编写算法判断一个三位正整数N是否为水仙花数
好的,我知道了。判断一个三位正整数N是否为水仙花数的算法可以按照以下步骤实现:
1. 将这个三位数拆分为个位、十位、百位三个数字;
2. 计算这三个数字的立方和,即个位的立方 + 十位的立方 + 百位的立方;
3. 如果计算得到的值等于原始的三位数N,则N是水仙花数,否则N不是水仙花数。
代码示例:
```python
def is_narcissistic_number(n):
# 判断是否为三位数
if n < 100 or n > 999:
return False
# 拆分三位数字
a = n // 100 # 百位
b = (n // 10) % 10 # 十位
c = n % 10 # 个位
# 计算立方和
sum = a * a * a + b * b * b + c * c * c
# 判断是否为水仙花数
if sum == n:
return True
else:
return False
```
调用示例:
```python
n = 153
if is_narcissistic_number(n):
print(n, "是水仙花数")
else:
print(n, "不是水仙花数")
```
输出:
```
153 是水仙花数
```
如果一个三位正整数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;
}
希望能够帮到您!