黑马程序员技术交流社区
标题:
关于水仙花数的问题
[打印本页]
作者:
coding_wang
时间:
2015-9-1 23:19
标题:
关于水仙花数的问题
本帖最后由 coding_wang 于 2015-9-3 11:13 编辑
题目要求 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身
例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
这个题目要按照什么样的思路去解决呢?
作者:
张中付
时间:
2015-9-1 23:30
看人家例子怎么搞的,你要娶学着搞,取它的各位数字153/100 = 1 153%100 = 53 53/10 = 5等等
作者:
kylmetz
时间:
2015-9-1 23:41
我也同求~
作者:
wowthe1st
时间:
2015-9-2 00:31
就是从100循环到999,循环体中判断当前数值是否符合要求;
取每位上的数值,这个思路两个个:
1> 将数对10取余后得出个为,除以10将结果再对10取余得到十位,以此下去直到原来数为0
2>将数值转化成字符串,然后字符串每个字符迭代(这个效率不高)
代码:
int main()
{
int i,j,k,sum;
for(i=100;i<=999;i++)
{
j=i;
sum=0;
for(;j;j/=10)
{
k=j%10;
sum+=k*k*k;
}
if(sum==i)
printf("%d 是水仙花数\n",i);
}
return 0;
}
复制代码
作者:
smilejoke
时间:
2015-9-2 00:39
善用取余,除法 这都是基本算法
作者:
来自星星
时间:
2015-9-2 09:15
没有学过或是学到,就进来学习学习
作者:
veggiegfei
时间:
2015-9-2 09:25
思维逻辑好强的这题
作者:
GodLovenan
时间:
2015-9-2 11:19
好高端的样子啊,没有学到这呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2