Max Factor-求几个数中有最大质因数的数
来源:互联网 发布:手机上中文编程的软件 编辑:程序博客网 时间:2024/06/04 17:57
->题目传送门<-
题意见标题
刚开始以为一组数据,WA一次,然后改了一下,超时了,然后又改了一下,超内存了。。。不说了,看别人做这题就没这么多事,所以就写个博客记念一下
超时代码:
#include#include #include #include #include using namespace std;const int MAX_N=20010;vector is_prime;void judge(){ is_prime = vector (MAX_N + 1, true); is_prime[0] = is_prime[1] = false; for (int i = 2; i <= MAX_N; ++i) { if (is_prime[i]) { for (int j = i * 2; j <= MAX_N; j += i) { is_prime[j] = false; } } }}int solve(int n){ judge(); int ret=-1; for(int i=2; i<=sqrt(n+0.5); i++)if(n%i==0) { int t=n/i; if(is_prime[i]) ret=i; if(t>i&&is_prime[t]) ret=t; } return ret;}int main (){ int T; while(cin>>T) { int n[T]; int maxnum=0,maxn=0; while(T--) { cin>>n[T]; if(solve(n[T])>maxn) { maxn=solve(n[T]); maxnum=T; } } cout<
然后看了一下网上的,发现了一个写的既简单又内啥的,下次做题之前要多动脑,原本以为题目简单咋作都行,作着作着,就不想做了/捂脸
#include#include using namespace std;const int maxn=19999+16;int prime[maxn];void fun(){ for(int i=0; i >n) { int endx=-1,endy=-1; for(int i=0; i >x; if(prime[x]>endx) { endx=prime[x]; endy=x; } } cout<
阅读全文
1 0
- Max Factor-求几个数中有最大质因数的数
- 求600851475143的最大质因数
- 求一个数的质因数
- 求一个数的质因数
- 求一个数的质因数
- (hdu step 2.1.3)Largest prime factor(求一个数的最大质因子的位置)
- Max sum 求相邻数最大和
- 如何求最大质因数?
- 求最大质因数
- 求一个数的所有质因数
- 关于“Euler”中“求600851475143最大的最大质因数”
- Max Factor(找最大素数)
- 求一个数阶乘的质因数的个数
- 求几个数的平均数
- HDU 1058 Humble Numbers 求质因数2357的数
- 基础模板之求一个数的质因数
- 利用C语言求一个数的所有质因数
- 算法——求某个数的质因数
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界 或者与titleView 的间距
- QTP自动化
- 计算机中的2进制,8进制,16进制
- 文件上传类型总结
- git使用介绍
- Max Factor-求几个数中有最大质因数的数
- AJAX传JSON处理后的数据至后台
- String类笔记
- Linux常用目录的作用
- C++设计模式——单例模式
- iOS开发代码规范
- vue中运行程序会出现插值的形式,{{msg}}
- 【LeetCode】50、pow(x,n)
- linux grep 正则表达式