标签:name const == cout int i++ ons -- break
暴力了一点
#include<iostream> using namespace std; const int maxn=1e6+10; int vis[maxn]; int prime[maxn]; int tot=0; void findprime(int n) { for(int i=2;i<=n;i++) { if(vis[i]==0) prime[++tot]=i; for(int j=1;j<=tot&&i*prime[j]<=n;j++) { vis[i*prime[j]]=1; if(i%prime[j]==0) break; } } } int main() { int n=1e6+10; findprime(n); int T; cin>>T; while(T--) { int n; cin>>n; int ans=1; for(int i=1;i<=tot && n!=1 ;i++) { if(n%prime[i]==0) { int c=1; n=n/prime[i]; while(n%prime[i]==0) {c++, n=n/prime[i]; } int t=1; int x=prime[i]; for(int k=1;k<=c;k++) { t+=x; x=x*prime[i]; } ans*=t; } } if(n) ans*=n; cout<<ans<<endl; } }
标签:name const == cout int i++ ons -- break
原文地址:https://www.cnblogs.com/Andromeda-Galaxy/p/9821628.html