写出一个c语言程序解答

已知正整数n是两个不同的质数的乘积,试求出较大的那个质数(用c语言写出这个程序)

img

img

思路:由题意可知,n为两个质数之积,也就是说只要找到一个数能够被n整除,这个数一定是质数!!!2为最小的质数,直接从2开始找,这里通过平方sqrt减小运算次数,找到质数,然后与n相除,找到另一个质数
你题目的解答代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    unsigned long long int n,m,i,j=-1;
    scanf("%lld",&n);
    m = sqrt(n);
    for(i=2;i<=m;i++){
        if(n%i==0){
            j=n/i;
            break;
        }
    }
    printf("%lld",j);
    return 0;
}

如有帮助,望采纳!谢谢!