题目
第7章实验任务6 从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出"It is a prime number"。例如,用户输入90时,程序输出90 = 2 * 3 * 3 * 5;用户输入17时,程序输出"It is a prime number"。 输入提示信息:"Input m:" 输入格式:"%d" 输出格式: 是素数时输出"It is a prime number\n" 否则输出用"%d = ","%d * " 运行示例1: Input m:90↙ 90 = 2 * 3 * 3 * 5 运行示例2: Input m:13↙ It is a prime number
代码如下:
#include <stdio.h>
int main()
{
int m,flag=1;
printf("Input m:");
scanf("%d",&m);
for(int i=2;i<=m/2;i++)
{
if(m%i==0)
{
flag=0;
break;
}
}
if(flag&&m!=0&&m!=1)
{
printf("It is a prime number\n");
}
if(!flag)
{
printf("%d = ",m);
for(int i=2;i<=m/2;i++)
{
while(m%i==0&&m/i!=1)
{
if(m/i!=1)
{
m/=i;
}
printf("%d * ",i);
}
}
printf("%d",m);
}
}
欢迎评论区交流讨论,共同进步。