hdu 2710 最大的素数因子
2014-08-15 15:06
253 查看
给出一系列的数,判断谁的素数因子最大,然后把它输出
它本身不是素数,但它可以是两个素数的城际,那两个素数就是它的素数因子
#include<stdio.h>
#define M 20000+10
int pre[M];
int main()
{
int i,j;
pre[0]=1;
pre[1]=0;
for(i=2;i<M;i++)
{
for(j=i*i;j<M;j+=i)
pre[j]=1; //先进行素数打表,是素数的值为0,否则为1,此处把1当成素数
}
int x,y,n,a;
while(scanf("%d",&n)!=EOF)
{
x=y=0;
for(i=0;i<n;i++)
{
scanf("%d",&a);
for(j=a;j>0;j--)
{//不能继续用i,会把上面i的值转变
if(!pre[j])//是素数
{
if(a%j==0 && j>x)//并且是它的素数因子,并且最大
{
x=j;
y=a;
break;
}
}
}
}
printf("%d\n",y);
}
return 0;
}
/*
输出解释:
19是38的最大的素因子。其它没有哪个数有比它更大的素因子了。
*/
它本身不是素数,但它可以是两个素数的城际,那两个素数就是它的素数因子
#include<stdio.h>
#define M 20000+10
int pre[M];
int main()
{
int i,j;
pre[0]=1;
pre[1]=0;
for(i=2;i<M;i++)
{
for(j=i*i;j<M;j+=i)
pre[j]=1; //先进行素数打表,是素数的值为0,否则为1,此处把1当成素数
}
int x,y,n,a;
while(scanf("%d",&n)!=EOF)
{
x=y=0;
for(i=0;i<n;i++)
{
scanf("%d",&a);
for(j=a;j>0;j--)
{//不能继续用i,会把上面i的值转变
if(!pre[j])//是素数
{
if(a%j==0 && j>x)//并且是它的素数因子,并且最大
{
x=j;
y=a;
break;
}
}
}
}
printf("%d\n",y);
}
return 0;
}
/*
输出解释:
19是38的最大的素因子。其它没有哪个数有比它更大的素因子了。
*/
相关文章推荐
- HDU 5108 最大素数因子
- hdu 2136(最大素数因子)
- hdu 2136Largest prime factor n的最大因子是第几个素数
- HDU 2136 找出某数的最大素数因子
- hdu 2136(最大素数因子)
- hdu 2710 Max Factor(找最大素数)
- HDU Largest prime factor && nyoj 520 最大素因子【素数】
- HDU 2710 Max Factor(素数筛选)
- HDU 2574 素数因子数目
- [ACM Steps] 2.1.4 最大素数因子的位置
- hdu2136最大质因子在素数表中的位置
- HDU2710 Max Factor【水题】【素因子】
- (hdu step 2.1.3)Largest prime factor(求一个数的最大质因子的位置)
- boj 1339 简单题 用递归找到最大素数因子即可
- HDU 1164 Eddy's research I 素数因子
- hdoj2136 求数的最大素数因子
- HDU_2136——最大质因数,素数筛选法
- PE3 Largest prime factor(最大素数因子)
- poj3048--Max Factor(最大素数因子)
- hdu 1164(一个数的素数因子)