谁能优化算法
c4droid吧
全部回复
仅看楼主
level 10
求100~999中的。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=13+53+33,所以153为水仙花数。
我是三重循环对各个位数上的数字穷举
2013年09月25日 15点09分 1
level 10
2013年09月25日 15点09分 2
level 12
善用百度
2013年09月25日 22点09分 4
level 11
#include"stdio.h"
int main()
{
int m=100, n;
while(m<1000)
{ int t=0 ,num=m;
while(num>0)
{ n=num%10;
t+=n*n*n;
num/=10;}
if(t==m)
printf("\n水仙花数是: %2d\n",t);
m++;}
return 0;
}
   --来自助手版贴吧客户端
2013年09月26日 07点09分 5
4个变量 1个循环 这个算法不错
2013年09月26日 10点09分
表示看错了 你有嵌套循环
2013年09月26日 10点09分
嗯,你看如果还有改进的地方我们再探讨探讨。
2013年09月26日 11点09分
level 12
表示穷举呗
2013年09月26日 10点09分 6
level 12
都差不多吧,思路基本是这样,循环,精短程序它的运算还是差不多一样,或者把变量存在寄存器会更快点
2013年09月26日 15点09分 8
level 4
可以用继承的方法。。
2013年09月26日 16点09分 9
继承那是c++
2013年09月26日 22点09分
我说的是那种思想。。一种处理方式
2013年09月27日 02点09分
又重新看了一下这道题,可以这样解,由于取值范围较小,可以把0到9的立方都先算出来,再枚举100到999。。把各位数取出来,直接使用先前算出来的值可以判断!这样的话时间复杂度为O(1),常数级了
2013年09月27日 04点09分
表示不懂继承
2013年10月04日 09点10分
1