我在codechef上针对问题代码FCTRL给出了此解决方案。
我看到其他人使用相同语言c的编译时间(我使用的是c++ gcc 4.8.1)要少一些,
我的是0.46秒,而他们是0.23秒
如果可以的话,有人可以帮助我减少时间吗?
#include<iostream>
using namespace std;
int main()
{
long int t,i,temp;
cin>>t;
long int n[t],a[t];
for(i=0;i<t;i++)
{
temp=1;
a[i]=0;
cin>>n[i];
while(temp)
{
temp=n[i]/5;
a[i]+=temp;
n[i]=n[i]/5;
}
}
for(i=0;i<t;i++)
cout<<a[i]<<"\n";
return(0);
}
最佳答案
根据您的描述,由于您正在使用c++,而他们正在使用c,这可能是由于编译器如何处理每条指令。
您也可以尝试更换
temp=n[i]/5;
a[i]+=temp;
n[i]=n[i]/5;
通过
temp=n[i]/5;
a[i]+=temp;
n[i]=temp; //why compute the value again
看看时间是否减少