任务描述
本关任务:输出100到999之间的所有的“水仙花数”。所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一个水仙花数,因为
153=13 +53 +33
提示
关键在于对一个三位整数 n 进行分解,得出他各个数位上的数字。下面介绍一种方法:
求百位数的数字i = n/100; 例如,123/100=1,求出百位数字
求十位上的数字j = n/10%10; 例如,123/10=12,12%10=2,求出十位数字
求个位上的数字k = n%10; 例如,123%10=3,求出个位数字
输入格式:
无
输出格式:
按递增顺序输出所有水仙花数,每个数输出占5列。
输入样例:
输出样例:
153 370 371 407
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
for(int i=100;i<1000;i++)
{
a=i/100;
b=i/10%10;
c=i%100%10;
if(pow(a,3) + pow(b,3) + pow(c,3) == i)
{
printf("%5d",i);
}
}
return 0;
}
标签:10,153,数字,int,水仙花,100,188
From: https://blog.csdn.net/weixin_73820357/article/details/144222584