uva 10780 - Again Prime? No Time.(数论)
来源:互联网 发布:丽升网络评卷系统 编辑:程序博客网 时间:2024/05/24 00:57
题目链接:uva 10780 - Again Prime? No Time.
题目大意:给定m和n,计算n!中有多少个因子m。
解题思路:将1~n分解质因子,然后在将m分解,对应每个因子计算说可以保证的个数,维护最小值。
#include <stdio.h>#include <string.h>#include <math.h>#define min(a,b) (a)<(b)?(a):(b)const int N = 10005;const int INF = 0x3f3f3f3f;int n, m, c[N];void div (int k) {int t = ceil(sqrt(k));for (int i = 2; i <= k && i <= t; i++) {while (k % i == 0) {c[i]++;k /= i;}}c[k]++;}void solve () {int i;memset(c, 0, sizeof(c));for (i = 2; i <= n; i++)div(i);int ans = INF, t = ceil(sqrt(m));for (i = 2; i <= m && i <= t; i++) {if (m%i == 0) {int cnt = 0;while (m % i == 0) {cnt++;m /= i;}ans = min (ans, c[i]/cnt);}}if (m != 1)ans = min(ans, c[m]);if (ans == INF || ans == 0) printf("Impossible to divide\n");else printf("%d\n", ans);}int main () {int cas;scanf("%d", &cas);for (int i = 1; i <= cas; i++) {scanf("%d%d", &m, &n);printf("Case %d:\n", i);solve ();}return 0;}
1 0
- uva 10780 - Again Prime? No Time.(数论)
- UVA 10780 - Again Prime? No Time.(数论)
- uva 10780Again Prime? No Time.(简单数论)
- UVa 10780 Again Prime? No Time. (数论&素因子分解)
- UVA 10780 Again Prime? No Time. [质因子分解]【数论】
- Again Prime? No Time.(UVA 10780)
- Again Prime? No Time.(uva10870+数论)
- UVA10780:Again Prime? No Time(数论)
- uva 10780 Again Prime? No Time.
- UVa 10780-Again Prime? No Time.
- UVA 10780 - Again Prime No Time
- UVA - 10780 Again Prime? No Time.
- UVa:10780 Again Prime? No Time.
- 【UVa 10780】 Again Prime? No time.
- UVA 10780 Again Prime? No time
- UVa - 10780 - Again Prime? No Time.
- [UVa 10780]Again Prime?No time.
- UVa 10780 - Again Prime? No Time.
- 尽可能摆脱对HttpContext的依赖
- Python 中的@修饰符作用
- 常用的android studio 快捷键
- mac os java开发环境配置
- 没想法真痛苦
- uva 10780 - Again Prime? No Time.(数论)
- ios 正则表达式
- Oracle学习基础(二)
- 优化程序性能的几个方法(来自于《深入理解计算机系统》)
- C语言函数的参数和返回值
- 升级到xcode5之后 引用第三方库的时候会出现ARC报错
- printf、sprintf、snprintf简述
- Eclipse变量插件问题
- 网站维护问题及解决方案集合