永发信息网

用c++求所有水仙花数

答案:2  悬赏:10  手机版
解决时间 2021-05-14 16:30
我比较糊涂,写的规范写。
最佳答案

#include <iostream>


using namespace std;


int main()
{
int i, a, b, c;
for(i = 100; i < 1000; ++i)
{
a = i / 100; //百位数
b = i / 10 % 10; //十位数
c = i % 10; //个位数
if(a * a * a + b * b * b + c * c * c == i)
cout << i << endl;
}
return 0;
}

全部回答

方法:先弄懂什么是水仙花数:: 水仙花数是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。 3位水仙花数————先定义3个数其中一个为1--9;2个为0--9;(用for循环) 再用如果a定义为1--9那么用100*a来表示百位;如果b或者c定义是0--9那么用10*b或者10*c来表示十位;那么下面用c或者b来表示个位; if(100*a+10*b+c==a*a*a+b*b+c) 如果满足这个条件那么:输出的printf("%d%d%d",a,b,c)就是3位数的水仙花数: 4位水仙花数方法同上: 刚写的:调试过了 #include <stdio.h> int main(void) { int a,b,c,d; system("cls"); for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) if(100*a+10*b+c==a*a*a+b*b*b+c*c*c) printf("%d%d%d\n",a,b,c); for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) for(d=0;d<=9;d++) if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d) printf("%d%d%d%d\n",a,b,c,d); getch(); } 或者这样: #include <stdio.h> int main(void) { int a,b,c,d; system("cls"); for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) { if(100*a+10*b+c==a*a*a+b*b*b+c*c*c) printf("%d%d%d\n",a,b,c); for(d=0;d<=9;d++) if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d) printf("%d%d%d%d\n",a,b,c,d); } getch(); }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
武汉人流手术价格大概是多少?
乙酸是不是非电解质,冰醋酸是不是电解质
咸安区天津鸡汁特色包地址在什么地方,想今天
弹弹堂+8几率最好办法
吐槽大会小沈阳那一集谢飞机出场的时候音乐是
如果你是一个月工资在1500-2000又想买私家车
电费交款单掉了,如何补办?
CF的视频怎么录制呀??哪位高手指点一下,谢
求C调24孔口琴简谱
甘肃省天水市都有什么家具厂
广州坑口做地址到广州市妇幼儿童医院(洙江新
宁陵县福荣超市宁陵县步行街在什么地方啊,我
上陵冰箱定时器的好坏测量
中国现代最著名的诗人
摩托车刚打着火,加速慢怎么办?是雅马哈天舰
推荐资讯
邢道荣为什么火了,三国名将邢道荣 为什么说:
最近过得好吗歌词,你最近过的好吗另类歌词
空间小窝如何弄的和背景一样大了?
挂画钉子怎么安装图解,有什么方法不用钉子也
激光去痦子后有痦子的地方还是黑色的要不要擦
魏都区中国邮政储蓄银行(七一路支行)地址是什
诺基亚E65大家认为如何
竹块凉席发霉了留下污点,洗衣粉刷不下来,有什
MP5固件升级在那个地方能够下载?
成人高考江西今年的分数线大概是多少?
现在红富士苹果多少钱一斤?
空盘提示:函数不对是什么意思呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?