用C语言输入正整数n (n>100),在[n,999] 范围内寻找最小水仙花数。水仙花数是指一个三位数,怡好等于其各位上数字的立方和。 [输入格式] 一个三位正整数n。 [输出格式] 指定范围内最小水仙花数,如果没有则输出0。
时间: 2024-05-13 21:18:53 浏览: 77
C变种水仙花数.zip
以下是用C语言实现的代码:
```
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = n; i <= 999; i++) {
int a = i / 100;
int b = (i / 10) % 10;
int c = i % 10;
if (i == a*a*a + b*b*b + c*c*c) {
printf("%d", i);
return 0;
}
}
printf("0");
return 0;
}
```
首先,我们读入一个三位正整数n。然后,我们从n开始遍历到999,对于每个数i,我们分解出它的百位数、十位数和个位数,计算它们的立方和,如果等于i本身,则i是一个水仙花数,我们输出它并结束程序。
如果遍历完了所有可能的数仍然没有找到水仙花数,我们输出0。
阅读全文