hdu1164 Eddy's research I(数论:唯一分解式)
来源:互联网 发布:三维园林景观设计软件 编辑:程序博客网 时间:2024/04/30 13:18
一道很简单的水题有木有啊!!
我又TLE了好几次
原因是我用的是逗号表达式,今天听学长说了才知道,逗号表达式的结果就是最后一个逗号后表达式的结果
所以我的程序会一直判断正确,一直继续执行...
看到题目想都没想就用欧拉函数变形,TLE后我还以为真的是算法问题
想了想和打表差的也不多啊...
欧拉定理15ms:
#include <math.h>#include <stdio.h>#define MAXN 10010int ans[MAXN];int m, n, cnt, i;void euler_phi(int n) { m = sqrt(n+0.5); cnt = 0; for(i=2; i<=m; ++i) { if(n%i == 0) { n /= i; ans[cnt++] = i; while(n % i == 0) { n /= i; ans[cnt++] = i; } } } if(n > 1) ans[cnt++] = n; return ;}int main(void) { while(scanf("%d", &n) != EOF) { euler_phi(n); printf("%d", ans[0]); for(i=1; i<cnt; ++i) { printf("*%d", ans[i]); } printf("\n"); } return 0;}
素数打表0ms:
#include <math.h>#include <stdio.h>#define MAXN 66010int ans[20], prime[MAXN], vis[MAXN];int m, n, cnt, i, j, c;void gen_primes(int n) { int m = (int)sqrt(n+0.5); for(i=2; i<=m; ++i) { if(!vis[i]) { for(j=i*i; j<=n; j+=i) { vis[j] = 1; } } } c = 0; for(i=2; i<=n; ++i) { if(!vis[i]) prime[c++] = i; } return ;}int main(void) { gen_primes(65536); while(scanf("%d", &n) != EOF) { cnt = 0; for(i=0; prime[i]<n; ++i) { j = prime[i]; if(n%j == 0) { ans[cnt++] = j; n /= j; while(n%j == 0) { n /= j; ans[cnt++] = j; } } } if(n > 1) ans[cnt++] = n; printf("%d", ans[0]); for(i=1; i<cnt; ++i) { printf("*%d", ans[i]); } printf("\n"); } return 0;}
0 0
- hdu1164 Eddy's research I(数论:唯一分解式)
- Eddy's research I(hdu1164分解因数)
- Hdu1164(Eddy's research I 因子分解)
- HDU1164:Eddy's research I
- hdu1164-Eddy's research I
- Eddy\'s research I(HDU1164)
- hdu1164 Eddy's research I
- hdu1164 Eddy's research I
- HDU1164 Eddy's research I
- HDU1164 Eddy's research I
- HDU1164 Eddy's research I
- HDU1164 Eddy's research I
- HDU1164 Eddy's research I
- hdu1164 Eddy's research I
- HDU1164:Eddy's research I(素数筛选法)
- HDU1164 Eddy's research I(解法二)
- HDU 1164 Eddy's research I 数论
- Eddy's research I
- actionbar居中的view,标题
- 【svn错误】SSL handshake failed: SSL disabled due to library version mismatch (https://192.168.50.4)
- Python MapReduce
- Android源码下载之《Android新闻客户端源码》
- cocos2dx CCScrollView使用示例
- hdu1164 Eddy's research I(数论:唯一分解式)
- 十大要避免的Ext JS开发方法
- hdu 1176免费馅饼 2151 Worm
- JavaScript学习点滴—js对象的四种类型的属性、方法的访问
- HDU3790Dijkstra
- 利用递归方法求最大公约数 gcd
- Linux下利用Valgrind工具进行内存泄露检测和性能分析
- shell-trap
- 系统权限管理设计