已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。
思路:由题意可知,n为两个质数之积,也就是说只要找到一个数能够被n整除,这个数一定是质数!!!2为最小的质数,直接从2开始找,这里通过平方sqrt减小运算次数,找到质数,然后与n相除,找到另一个质数,比大小即可,选出最大那个即可。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>int main()
{int a,i,j,max;scanf("%d",&a);for(i=2;i<sqrt(a);i++){if(a%i==0){j=a/i;break;}}if(i>j){max=i;}else{max=j;}printf("%d",max);return 0;
}