描述
已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。
输入
输入只有一行,包含一个正整数 n。
对于60%的数据,6 ≤ n ≤ 1000。
对于100%的数据,6 ≤ n ≤ 2*10^9。
输出
输出只有一行,包含一个正整数 p,即较大的那个质数。
#include<stdio.h>
int Isprime(int a) //函数判断a是否为素数
{
int i;
int flag=1;
for(i=2;i*i<=a;i++)
{
if(a%i==0)
{
flag=0; //flag判断是否执行
break;
}
}
return flag;
}
int main()
{
int a;
scanf("%d",&a);
int s;
for(int i=2;i*i<=a;i++)
{
if(Isprime(i)&&a%i==0)
{
s=a/i; //因为所给数为两素数的积,故较大数即为所给与较小数的商
break;
}
}
printf("%d",s);
}
C语言求解两质数乘积中较大质数

7416

被折叠的 条评论
为什么被折叠?



