c++:编写一个程序,求一到三十内的水仙花数
时间: 2024-05-22 16:15:12 浏览: 73
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 30; i++) {
int sum = 0;
int num = i;
while (num > 0) {
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (sum == i) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
相关问题
用 c++ 编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
```
#include <stdio.h>
int main() {
int N, i, ge, shi, bai, sum;
printf("请输入正整数N(N大于等于100小于等于999):");
scanf("%d", &N);
printf("100~%d之间的水仙花数为:\n", N);
for(i=100; i<=N; i++) {
ge = i % 10; // 个位数
shi = i / 10 % 10; // 十位数
bai = i / 100; // 百位数
sum = ge * ge * ge + shi * shi * shi + bai * bai * bai; // 立方和
if(sum == i) {
printf("%d\n", i);
}
}
return 0;
}
```
编写一个c++程序,输出所有的水仙花数
#include <stdio.h>
int main() {
int i, j, k, n;
for (n = 100; n <= 999; 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);
}
}
printf("\n");
return 0;
}
阅读全文