质因数分解
已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int panshu(int n)
{
int arr[1000];
int i,j=0;
int count = 0;
for(i=2;i<sqrt(n);i++)
{
if(n%i==0)
{
arr[j] = n/i;
j++;
}
}
int max = -1;
int k;
for(i=0;i<j;i++)
{
for(k=1;k<sqrt(arr[i]);k++)
{
if(arr[i]%k==0)
count++;
}
if(count<=2)
{
max = arr[i];
break;
}
}
return max;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",panshu(n));
return 0;
}

浙公网安备 33010602011771号