POJ-3048 求有最大的素数因子的数
来源:互联网 发布:mac怎么下载千牛 编辑:程序博客网 时间:2024/05/23 12:34
To improve the organization of his farm, Farmer John labels each of his N (1 <= N <= 5,000) cows with a distinct serial number in the range 1..20,000. Unfortunately, he is unaware that the cows interpret some serial numbers as better than others. In particular, a cow whose serial number has the highest prime factor enjoys the highest social standing among all the other cows.
(Recall that a prime number is just a number that has no divisors except for 1 and itself. The number 7 is prime while the number 6, being divisible by 2 and 3, is not).
Given a set of N (1 <= N <= 5,000) serial numbers in the range 1..20,000, determine the one that has the largest prime factor.
(Recall that a prime number is just a number that has no divisors except for 1 and itself. The number 7 is prime while the number 6, being divisible by 2 and 3, is not).
Given a set of N (1 <= N <= 5,000) serial numbers in the range 1..20,000, determine the one that has the largest prime factor.
* Line 1: A single integer, N
* Lines 2..N+1: The serial numbers to be tested, one per line
* Lines 2..N+1: The serial numbers to be tested, one per line
* Line 1: The integer with the largest prime factor. If there are more than one, output the one that appears earliest in the input file.
436384042
38
OUTPUT DETAILS:
19 is a prime factor of 38. No other input number has a larger prime factor.
19 is a prime factor of 38. No other input number has a larger prime factor.
搞清楚题意,求有最大素数因子的数。要考虑的问题:它本身如果是一个素数,算不算呢?忘了算不算了,试一试就知道了。做之前先预处理筛素数!!
代码如下:
#include<iostream>#include<cmath>using namespace std;const int MAX=20005;int n;int a[50010];int prime[20010];void Isprime(){ prime[0]=0; prime[1]=0; prime[2]=1; for(int i=3;i<MAX;i++) { if(i%2==0) prime[i]=0; else prime[i]=1; } int temp=(int)sqrt(MAX*1.0); for(int i=3;i<=temp;i++) { if(prime[i]) { for(int j=i*i;j<MAX;j+=2*i) { prime[j]=0; } } }}int judge(int x){ for(int i=x;i>0;i--) { if(prime[i] && x%i==0) { return i; } } return 1;}int main(){ int x; Isprime(); while(cin>>n && n) { int ans=0,maxn=0,m=0; for(int i=1;i<=n;i++) { cin>>x; ans=judge(x); if(maxn<ans) { maxn=ans; m=x; } } cout<<m<<endl; } return 0;}
阅读全文
0 0
- POJ-3048 求有最大的素数因子的数
- hdoj2136 求数的最大素数因子
- 求一个数的素数因子
- 求一个数的所有素数因子
- 求一个数的素数因子
- 【POJ 2886】 Who Gets the Most Candies?(反素数求最大因子数+线段树)
- HDU 2136 找出某数的最大素数因子
- 【ZOJ 1562和 BZOJ 1053】【反素数】【求n以内的因子最多的那个数(即不超过n的最大反素数)】
- poj 2992 Divisors(求组合数的因子个数)
- POJ 2992 : Divisors - 求组合数的因子个数
- POJ 2992-Divisors(求组合数质因子的个数)
- hdu2710(找出这个数的最大素数因子,并输出这个数)
- hdu 2710 最大的素数因子
- hdu 5428 The Factor 求一个数列的乘积的最小因子的因子数大于2 筛素数
- 反素数 模板 求因子的个数为n的最小的数是什么
- 求1000000内的素数和每个数的因子的个数
- (hdu step 2.1.3)Largest prime factor(求一个数的最大质因子的位置)
- 求一个数的因子的个数
- leetcode(283). Move Zeroes
- react native学习笔记1——webstorm安装与配置
- 洛谷P1281 书的复制
- Android studio 代码字体模糊的处理方法
- 4.if、else和elif语句
- POJ-3048 求有最大的素数因子的数
- 2017 Multi-University Training Contest
- SPI_FLASH时序描述及驱动编程
- 关于oracle表已设置主键自增仍报违反唯一约束问题
- js中的原型链
- 高级网络配置
- vue学习笔记--父子组件通信
- cnn
- EL表达式取MAP值,MAP的KEY动态生成