Open wuwusiqi opened 7 months ago
老师好!我想请教一下我的代码运行超时了,而看了看同学的成功代码,感觉思路上没什么本质区别,请问这是为什么呢?谢谢老师! 我的代码:
using namespace std;
int main() { int n,j; int p,count=0,num=0; cin>>n>>p;
if (n>=p){ for ( int i=p;i<=n;++i){ if (i%p==0){ j=i; while (j%p==0){ j/=p; ++count; if (j<p){ break; } } } else ; num+=count; count=0; } } else ; cout<<num<<endl; return 0; } 同学的代码: int main(){ int n,p,c=0; cin>>n>>p; if (n<p){ cout<<0; } else{ for(int i=p;i<=n;i++){ int t=i; while(t%p==0&&t>=p){ c=c+1; t=t/p; if(t==1){ break; } } } cout<<c;} }
老师好!我想请教一下我的代码运行超时了,而看了看同学的成功代码,感觉思路上没什么本质区别,请问这是为什么呢?谢谢老师! 我的代码:
include
using namespace std;
int main() { int n,j; int p,count=0,num=0; cin>>n>>p;
if (n>=p){ for ( int i=p;i<=n;++i){ if (i%p==0){ j=i; while (j%p==0){ j/=p; ++count; if (j<p){ break; } } } else ; num+=count; count=0; } } else ; cout<<num<<endl; return 0; } 同学的代码: int main(){ int n,p,c=0; cin>>n>>p; if (n<p){ cout<<0; } else{ for(int i=p;i<=n;i++){ int t=i; while(t%p==0&&t>=p){ c=c+1; t=t/p; if(t==1){ break; } } } cout<<c;} }