用C++写一个程序计算所以的水仙花数
时间: 2023-05-11 09:02:02 浏览: 95
以下是用 C 语言编写的计算所有水仙花数的程序:
#include <stdio.h>
int main() {
int i, j, k, n;
for (n = 100; n < 1000; n++) {
i = n / 100;
j = (n / 10) % 10;
k = n % 10;
if (n == i * i * i + j * j * j + k * k * k) {
printf("%d ", n);
}
}
return 0;
}
该程序会输出所有三位数的水仙花数,即153、370、371和407。
相关问题
请你用c++写一个程序,判断一个数是不是水仙花数
好的,我可以回答这个问题。以下是判断一个数是否为水仙花数的 C 语言程序:
#include <stdio.h>
#include <math.h>
int main() {
int num, originalNum, remainder, n = 0, result = 0;
printf("请输入一个三位数:");
scanf("%d", &num);
originalNum = num;
// 计算位数
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 计算立方和
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 判断是否为水仙花数
if (result == num)
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
希望这个程序对您有帮助!
用c++写一个水仙花数
水仙花数指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身,例如:153=1^3+5^3+3^3,所以 153 就是一个水仙花数。
下面是使用C语言编写的水仙花数程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, n = 0, result = 0;
printf("请输入一个三位数: ");
scanf("%d", &num);
originalNum = num;
// 计算位数
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 计算水仙花数
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if (result == num)
printf("%d 是一个水仙花数", num);
else
printf("%d 不是一个水仙花数", num);
return 0;
}
```
输入一个三位数,程序会计算出这个数是否为水仙花数,并输出结果。
阅读全文