1610的最大质因数
1610=2×5×7×23
1610的最大质因数:23
(不知道是不是分类分错了……)
C语言编程代码:
#include<stdio.h>
int prime(int i) //判断素数
{
int j;
if(i<2)
return -1; //既不是素数也不是合数
for(j=2;j<=i/2;j++)
if(i%j==0)
return 0; //合数
return 1; //素数
}
int factor(int i) //分解质因数
{
int j,max=0;
if(prime(i)==0)
{
printf("%d=",i);
for(j=2;j<=i;)
{
if(i%j!=0) //不能被j整除,就让j自加1
{
j++;
}
else //能被j整除,就让i等于被除后的数
{
i=i/j;
printf("%d×",j);
if(max<j)
max=j;
}
}
printf("\b \n"); //退格,把最后的“×”去掉
}
else
printf("%d不是合数,不能分解质因数。\n",i);
return max;
}
main()
{
int max,n;
printf("请输入\n");
scanf("%d",&n);
printf("分解质因数如下:\n");
max=factor(n);
printf("最大质因数:%d\n",max);
}