UVA 10791 - Minimum Sum LCM
2014-03-07 15:38
465 查看
分解素因子
题解这篇写的非常好:/article/6666229.html
题解这篇写的非常好:/article/6666229.html
#include <memory.h> #include <cstdio> #include <cmath> using namespace std; const int MAX = 1000001; long long fac[100]; bool is_prime[MAX]; long long prime[100000], prime_idx; void init_prime(){ memset(is_prime + 1, 1, sizeof(is_prime)); for(long long i = 2; i < MAX; ++i){ if(is_prime[i]){ prime[prime_idx++] = i; for(long long j = i + i; j < MAX; j += i){ is_prime[j] = false; } } } } int main(){ init_prime(); long long N, caseno = 1; while(~scanf("%lld", &N)&& N){ long long f_idx = 0; long long n = N; long long ans = 0; for(int i = 0; i < prime_idx && prime[i] < n; ++i){ if(n % prime[i] == 0){ fac[f_idx] = 1; while(n % prime[i] == 0){ fac[f_idx] *= prime[i]; n /= prime[i]; } ans += fac[f_idx++]; } } if(n > 1){ fac[f_idx] = n; ans += fac[f_idx++]; } printf("Case %lld: ", caseno++); if(f_idx == 1 || N == 1)printf("%lld\n", 1 + N); else printf("%lld\n", ans); } return 0; }
相关文章推荐
- 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 分解质因子
- 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
- 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
- Minimum Sum LCM UVA - 10791 思维题
- [UVa 10791]Minimum Sum LCM
- UVa 10791 Minimum Sum LCM