c语言寻找三位水仙花数
时间: 2024-03-23 07:35:05 浏览: 25
C语言可以通过编写程序来寻找三位水仙花数。所谓水仙花数,是指一个三位数,其各个位上的数字的立方和等于该数本身。以下是一个示例程序:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("三位水仙花数:\n");
for (num = 100; num <= 999; num++) {
sum = 0;
int temp = num;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num) {
printf("%d ", num);
}
}
return 0;
}
```
运行以上程序,将输出所有的三位水仙花数。请注意,三位水仙花数是指满足条件的三位整数,其各个位上的数字的立方和等于该数本身。
相关问题
c语言求三位水仙花数
以下是使用C语言求解三位水仙花数的代码示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
int ge = 0, shi = 0, bai = 0;
for (int i = 100; i < 1000; i++) {
ge = i % 10;
shi = (i / 10) % 10;
bai = (i / 100) % 10;
if (i == pow(ge, 3) + pow(shi, 3) + pow(bai, 3)) {
printf("%d ", i);
}
}
return 0;
}
```
该代码使用循环遍历从100到999的所有三位数,通过计算每个数字的个位、十位和百位的立方和,判断是否等于原数字。如果满足条件,则将该数字打印出来。
c语言123三位水仙花数
以下是两种C语言求解三位水仙花数的例子:
1.使用for循环和if语句
```c
#include <stdio.h>
int main(){
for (int i = 100; i < 1000; i++) {
int a=i/100;//百位
int b=i%100/10;//十位
int c=i%100%10;//个位
if ((a*a*a+b*b*b+c*c*c)==i) {
printf("%d\n",i);
}
}
return 0;
}
```
2.使用scanf函数和if语句
```c
#include <stdio.h>
void main() {
int n,ge,shi,bai,s;
scanf("%d", &n);
ge = n % 10;
shi = n / 10 % 10;
bai = n / 100;
s = ge * ge * ge + shi * shi * shi + bai * bai * bai;
if (s == n) printf("%d是水仙花数", n);
else printf("%d不是水仙花数", n);
}
```