sicily 1085. Longge's problem

来源:互联网 发布:apache ab url带参数 编辑:程序博客网 时间:2024/05/17 22:54


#include<iostream>#include<cstring>#include<cstdio>using namespace std;int prime[100000];bool isprime[100002];int main(){memset(prime,0,sizeof(prime));memset(isprime,1,sizeof(isprime));int k=0;for(int i=2;i<100000;++i){if(isprime[i]){prime[k++]=i;if(i<1000)for(int j=i*i;j<100001;j+=i){isprime[j]=0;}}}long long ans,tmp,n;while(cin>>n){k=0;ans = 1;while(n!=1&&prime[k]!=0){if(n%prime[k]==0){long long t=1;tmp=1;n /= prime[k];while(n%prime[k]==0){n /= prime[k];tmp *= prime[k];++t;}ans *= (t*(tmp*prime[k] - tmp) + tmp*prime[k]);}++k;}if(n!=1) ans *= (2*n-1); cout<<ans<<endl;}return 0;}