UVa 294 - Divisors
来源:互联网 发布:淘宝卖的aj哪里来的 编辑:程序博客网 时间:2024/05/18 20:11
通过这道题学到了2个知识:
1.一个数的质因子一定小于等于这个数的开根
2.一个数的因子(约数)数等于 π(各质因子数+1)
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const int maxn = 55555;//#define DEBUGint vis[maxn];int prime[maxn];int cnt = 0;void GetPrime(){ memset(vis,0,sizeof(vis)); int m = sqrt(maxn) + 1; for(int i = 2; i < m; i++)if(!vis[i]){ for(int j = i * i; j < maxn; j += i) vis[j] = 1; } for(int i = 2; i < maxn; i++) if(!vis[i]) prime[cnt++] = i; #ifdef DEBUG for(int i = 0; i < cnt; i++) printf("%d ",prime[i]); #endif // DEBUG}int solve(int n){ int sum = 1; for(int i = 0; i < cnt && n > 1; i++){ if(n % prime[i] == 0){ int c = 1; while(n % prime[i] == 0){ c ++; n /= prime[i]; } sum *= c; } } return sum;}int main(){ int n,T; GetPrime(); scanf("%d",&T); while(T--){ int a,b; scanf("%d%d",&a,&b); int temp = 0; int ret; for(int i = a; i <= b; i++){ int e = solve(i); if(temp < e){ temp = e; ret = i; } } printf("Between %d and %d, %d has a maximum of %d divisors.\n",a,b,ret,temp); } return 0;}
0 0
- uva 294 divisors
- UVa 294-Divisors
- UVa 294 - Divisors
- UVa 294 - Divisors
- UVa 294 - Divisors
- UVa 294 - Divisors
- UVA 294(p344)----Divisors
- UVa 294 Divisors
- UVa 294 Divisors
- UVA 294 294 - Divisors (数论)
- uva 294 - Divisors(枚举+计数)
- UVa 294 - Divisors(数学)
- uva 294 ——Divisors
- Divisors UVA
- UVa 294 - Divisors(唯一分解)
- uva 294 Divisors 求因子个数
- UVA 294 Divisors(唯一分解定理 + 除数函数)
- 习题10-9 UVA 294 Divisors(约数)
- oracle 免客户端绿色配置 (instantclient)
- Fragment和View的比较
- [PHP][PrestaShop]加载机制
- Aria2c 使用举例
- Substring
- UVa 294 - Divisors
- 从luajit bytecode dump文件提取字符串资源
- 我对软件公司和互联网公司的理解
- 15 自定义控件之水波纹
- 第一个java程序
- C++对象的构造函数和析构函数详解
- java 嵌套类
- 异 形 卵
- pom 压缩css与js