首先要求出输入的质数的两个质因数,就要用到判断素数时用到的方法。用内循环产生2到n的数字,当求到了质因数之后,也要先用一个变量将质因数存起来,当后面遇到更大的质因数时,再将原来的质因数覆盖,如果更小则不覆盖。
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int i = 0;
int j = 0;
int max = 0;
for (i = 1; i <= n; i++)
{
for (j = 2;j < n ;j++)
{
if (i % j == 0)
{
max = j;
}
}
}
printf("%d", max);
return 0;
}