【CodeChef】Chef and Interview
2016-10-13 22:11
471 查看
#include<bits/stdc++.h> using namespace std; int T;long long n;const int upbound = 100010; int prime[upbound],tot;bool vis[upbound]; long long ans = 0; void getprime() { vis[0]=vis[1]=true; for(int i=2;i<=upbound;i++) { if(!vis[i])prime[++tot]=i; for(int j=1;j<=tot&&prime[j]<=upbound/i;j++) { vis[i*prime[j]]=true; if(i%prime[j])break; } } } int e[upbound],tab[upbound],cnt; long long mul[upbound]; int main() { getprime(); scanf("%d",&T); while(T--) { scanf("%lld",&n); memset(e,0,sizeof(e)); memset(mul,0,sizeof(mul)); int tmp = n;cnt = 0; for(int i=1;i<=tot;i++) { if(tmp%prime[i]==0)tab[++cnt]=i; while(tmp%prime[i]==0) { tmp/=prime[i]; e[i]++; } if(tmp==1)break; } for(int i=1;i<=cnt;i++) { long long sum = 1; for(int j=0;j<=e[tab[i]];j++) { mul[i]+=sum; sum*=prime[tab[i]]; } } ans = 1; for(int i=1;i<=cnt;i++)ans*=mul[i]; printf("%lld\n",ans); } return 0; }
相关文章推荐
- 【codechef】Chef and His Friend (甲乙相遇的概率,分类)
- CodeChef:Chef and Subarray Queries(线段树)
- 【codechef】Chef and the Number Sequence(构成最长公共子序列为L的可能性)
- 【Codechef】February Challenge 2015 Chef and Strings
- 【codechef】Chef and Bracket-Pairs (分层dp)
- 【codechef】Chef and Polygons(灵活题,坑题)
- 【CodeChef】 Chef and Stones
- CodeChef - CHEFPRAD Chef and Pairs 树形DP
- 【codechef】Chef and Prime Divisors(判断A能否被B的所有素因子整除)
- 【Codechef】Chef and Bike(二维多项式插值)
- 【codechef】Chef and A Large Permutation(技巧题)
- 【codechef】Chef and the Cards(dp,推论)
- [CodeChef - GERALD07 ] Chef and Graph Queries
- 【codechef】Chef and Strange Formula(找规律,灵活题)
- 【CodeChef】Chef and Churu 分块+树状数组
- 【codechef】 Chef and Piano Scales (简单题)
- 【Codechef】【Chef and Graph Queries】Lct 可持久化线段树
- Meal WaitPerson and Chef
- 【欧拉筛+主席树】CodeChef PRMQ Chef and Prime Queries
- Technical interview at Amazon (SDE) and Microsoft (Program Manager)