Minimum Sum LCM(UVA 10791)
2016-07-19 01:29
417 查看
题目链接
将N分解成质因数的幂的乘积,答案就是这些幂的和,注意:
当质因数个数不足两个时用1补充;
极限数据会爆出int,要用long long。
附上AC代码:
Memory: 0 KB Time: 0 MS
Language: C++ 4.8.2 Result: Accepted
将N分解成质因数的幂的乘积,答案就是这些幂的和,注意:
当质因数个数不足两个时用1补充;
极限数据会爆出int,要用long long。
附上AC代码:
#include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<cstdio> #include<queue> #include<set> #include<vector> #include<map> #include<string> #include<cmath> #define pq priority_queue #define Pi acos(-1.0) #define MAXX 1000000007 using namespace std; int prime[100086],l=0; bool life[100086]; int n; int go(int x) { int ans=1; while(n%x==0) { n/=x; ans*=x; } return ans; } int main() { long long ans; int t=0,flag; for(int i=2;i<=100006;i++) { if(!life[i]) { prime[l++]=i; for(int j=2;j*i<=100006;j++) { life[i*j]=1; } } } while(cin>>n,n) { t++; ans=0; flag=0; for(int i=0;i<l;i++) { if(n%prime[i]==0) { flag++; ans+=1LL*go(prime[i]); } } if(n>1) { ans+=1LL*n; flag++; } while(flag<2) { ans++; flag++; } printf("Case %d: %lld\n",t,ans); } return 0; }
Memory: 0 KB Time: 0 MS
Language: C++ 4.8.2 Result: Accepted
相关文章推荐
- 1.10055 - Hashmat the brave warrior
- 2.10071 - Back to High School Physics
- 3.458 - The Decoder
- 4.694 - The Collatz Sequence
- 6.494 - Kindergarten Counting Game
- 7.490 - Rotating Sentences
- 8.414 - Machined Surfaces
- 9.488 - Triangle Wave
- A.457 - Linear Cellular Automata
- B.489 - Hangman Judge
- C.445 - Marvelous Mazes
- 1.10494 - If We Were a Child Again
- 2.424 - Integer Inquiry
- 3.10250 - The Other Two Trees
- 5.465 - Overflow
- 6.113 - Power of Cryptography
- 7.10161 - Ant on a Chessboard
- 8.621 - Secret Research
- 9.401 - Palindromes
- A.537 - Artificial Intelligence?