判断四叶玫瑰数的C语言程序
时间: 2023-04-03 12:03:49 浏览: 136
这个问题可以回答。四叶玫瑰数是指一个三位数的每个数位的立方和等于该数本身,例如153就是一个四叶玫瑰数。以下是一个判断四叶玫瑰数的C语言程序:
#include <stdio.h>
int main() {
int num, digit, sum = 0;
printf("请输入一个三位数:");
scanf("%d", &num);
digit = num % 10; // 取个位数
sum += digit * digit * digit;
num /= 10; // 去掉个位数
digit = num % 10; // 取十位数
sum += digit * digit * digit;
num /= 10; // 去掉十位数
digit = num % 10; // 取百位数
sum += digit * digit * digit;
if (sum == num) {
printf("%d是一个四叶玫瑰数\n", num);
} else {
printf("%d不是一个四叶玫瑰数\n", num);
}
return 0;
}
相关问题
用c语言输出所有四叶玫瑰数
四叶玫瑰数是指满足以下条件的自然数 n:n 等于各个十进制位上数字的四次方和。例如,1634 是四叶玫瑰数,因为 1^4 + 6^4 + 3^4 + 4^4 = 1634。
下面是用 C 语言输出所有四叶玫瑰数的代码:
```c
#include <stdio.h>
int main() {
int n, sum, digit, temp;
printf("所有的四叶玫瑰数:\n");
for (n = 1000; n < 10000; n++) {
sum = 0;
temp = n;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit * digit;
temp /= 10;
}
if (sum == n) {
printf("%d\n", n);
}
}
return 0;
}
```
输出结果如下:
```
所有的四叶玫瑰数:
1634
8208
9474
```
注意,四叶玫瑰数只有 3 个,它们分别是 1634、8208 和 9474。
python四叶玫瑰数判断
四叶玫瑰数是指一个数的每个位上的数字的四次方之和等于该数本身。我们可以通过以下代码来判断一个数是否为四叶玫瑰数:
```python
def is_four_leaf_roses(n):
s = 0
for i in str(n):
s += int(i) ** 4
return s == n
```
其中,`str(n)`将数字转化为字符串,便于逐个获取每个位上的数字,`int(i) ** 4`计算当前位上数字的四次方,`s += int(i) ** 4`累加每个位上数字的四次方,最后判断`s`是否等于`n`即可。