Re: [问题] 有一题我解不出来(哭)

楼主: joleen60626 (Mr.Banana)   2009-08-24 21:24:36
想了一下
我决定这么写了
可是PO到zerojudge之后他说我逾时(泣)
#include<iostream>
using namespace std;
int main(){
long long int a,i,j;
while(cin>>a){
int sum=0;
for(i=5;i<=a;i=i*5){
for(j=5;j<=a;j=j+5){
if(j%i==0)
sum=sum+1;
}
}
cout<<sum<<endl;
}
system("pause");
return 0;
}
说我逾时了一秒~哭哭
不好意思喔||||||
最近被计概荼毒
加上电脑被我重灌
所以从PTT上消失了颇久XD
作者: yuscvscv (小可鱼)   2009-08-24 22:12:00
重复计算的地方太多了 试一组测资 2147483647~跑了1分钟还没出来= =
作者: z36884 (丸子)   2009-08-25 18:12:00
可以稍微说一下是在做什么的吗?
作者: elevenyeast (十一碼)   2009-08-26 01:51:00
怎么觉得一楼的数字很眼熟...
作者: yuscvscv (小可鱼)   2009-08-26 12:50:00
该题测资的极限啊~ int的上限(2^31-1)~话说时间复杂度看起来大概是O(n/2 * logn) log底为5更正 O(n/5 * logn)nlogn的算法这题会TLE的Q Q
楼主: joleen60626 (Mr.Banana)   2009-08-28 17:13:00
好复杂喔(泪)
作者: yuscvscv (小可鱼)   2009-08-28 19:39:00
总之就是算法太慢...测资可以到2147483647

Links booklink

Contact Us: admin [ a t ] ucptt.com