UVA 10791 - Minimum Sum LCM(坑)
2013-10-22 16:26
369 查看
题目链接
不知道为什么,我用cin,cout就是过不了。。。改成scanf过了。。。
还是我居然理解错题意了,已经不能用看错了。。。至少两个数字,我理解成两个数字了,还写了个爆搜。。。
不知道为什么,我用cin,cout就是过不了。。。改成scanf过了。。。
还是我居然理解错题意了,已经不能用看错了。。。至少两个数字,我理解成两个数字了,还写了个爆搜。。。
#include <cstdio> #include <cstring> #include <string> #include <cmath> #include <ctime> #include <cstdlib> #include <iostream> using namespace std; #define LL long long #define MOD 1000000007 int prim[1000001]; int o[1000001]; LL que[5001]; int main() { int cas = 1,i,j,num = 0,m; LL n,temp; for(i = 2;i <= 1000000;i ++) { if(!o[i]) { prim[num++] = i; for(j = i+i;j <= 1000000;j += i) o[j] = 1; } } while(scanf("%lld",&n)!=EOF) { if(!n) break; printf("Case %d: ",cas++); if(n == 1) { printf("2\n"); continue; } m = 0; for(i = 0;i < num;i ++) { if(n == 1) break; if(n%prim[i] == 0) { temp = 1; while(n%prim[i] == 0) { temp *= prim[i]; n /= prim[i]; } que[m++] = temp; } } if(n != 1) que[m++] = n; LL minz = 0; if(m == 1) { printf("%lld\n",que[0]+1); continue; } for(i = 0;i < m;i ++) { minz += que[i]; } printf("%lld\n",minz); } return 0; }
相关文章推荐
- [UVa 10791]Minimum Sum LCM
- UVa 10791 - Minimum Sum LCM
- Minimum Sum LCM UVA - 10791 思维题
- UVA 10791 - Minimum Sum LCM
- UVa 10791 Minimum Sum LCM
- Minimum Sum LCM - UVa 10791
- UVa 10791 Minimum Sum LCM
- UVA 10791 - Minimum Sum LCM
- UVa10791 - Minimum Sum LCM
- UVA 10791 Minimum Sum LCM
- UVa 10791 Minimum Sum LCM
- UVa 10791 - Minimum Sum LCM (数论 推理)
- UVA 10791 Minimum Sum LCM
- UVA 10791 Minimum Sum LCM(素因子)
- UVA 10791 Minimum Sum LCM 唯一分解定理
- Minimum Sum LCM(UVA 10791)
- uva 10791【 Minimum Sum LCM】
- UVA 10791 Minimum Sum LCM (数论)
- UVA 10791 - Minimum Sum LCM(因子分解)
- UVa 10791 Minimum Sum LCM【唯一分解定理】