2736: 练33.3 水仙花数
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:49
解决:23
题目描述
尼克在学习了“水仙花数”这一课后,想找出所有的“水仙花数”,但他没有足够的时间去做这件事。所以,请你试编一程序,求出所有的“水仙花数”。
说明:如果一个三位数等于它各个数位上的数字的立方和,那么这个数就是“水仙花数”。
说明:如果一个三位数等于它各个数位上的数字的立方和,那么这个数就是“水仙花数”。
输入
无
输出
一行,若干个整数,表示所有的“水仙花数”,两数之间以一个空格隔开。
样例输入 复制
无
样例输出 复制
153 370 371 407
提示
#include<iostream>
using namespace std;
int main( )
{
int ge,shi,bai,i;
//cout<<"水仙花数"<<endl;
for(int i=100;i<1000;i++)
{ //水仙花数为三位数,从 100 循环到 999
bai=i/100; //求出 i 的百位数
shi=(i/10)%10; //求出 i 的十位数
ge=i%10; //求出 i 的个位数
if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i)
//判断各个数位上数字的立方根和是否等于原来的数
//等于,就是“水仙花数”;不等于,则继续进行循环
cout<<i<<" "; //输出“水仙花数”,“ ”内有 1个空格
}
return 0;
}