在 main 函数中,输入一个正整数 n。对于 2~n 之间的每一个数,如果是合数,则输出每个合数的所有质因子(利用上一题的 isPrime 函数,)。
如:n=12
输出: 4=2×2
6=2×3
8=2×2×2
9=3×3
10=2×5
12=2×2×3
#include<stdio.h>
int isPrime(int n);
int Fun(int i);
int main()
{
int n,i;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(isPrime(i)==0)
Fun(i);
}
return 0;
}
int isPrime(int n)
{
int i;
if(n==1)
return 0;
for(i=2; i*i<=n; i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int Fun(int n)
{
int i;
printf("%d=",n);
for(i=2;n>1;i++)
{
while(n%i==0)
{
printf("%d",i);
n=n/i;
if(n>=2)
printf("x");
}
}
printf("\n");
return 0;
}