將一個正整數分解質因數c語言
發布時間: 2023-01-30 20:19:55
❶ c語言編程 將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5
聲明一int型變數n接收鍵盤輸入並限制為正數。另一int型變數i初值賦2,用i去除n,能被整除則輸出i為質因數,並將n賦值為n/i;不能整除則i增1再去除n的新值……如此反復至n==1為止。輸出時,在n==1之前增印一個*號表示「乘」。代碼如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
intn,i;
printf("Inputn(intn>0)... n=");
if(scanf("%d",&n)!=1||n<1){//輸入並限制大於0
printf("Inputerror,exit... ");
return0;
}
printf(" %d=",n);
for(i=2;n>1;){//分解質因數,i從2開始
if(n%i==0){//能被i整除則輸出因數i
printf("%d",i);
if((n/=i)>1)//未到最後一個因數則輸出一個*號
printf("*");
}
else//不能被i整除則i增1
i++;
}
printf(" ");
return0;
}
運行樣例如下:
❷ c語言,輸入一個正整數,將這個正整數分解質因數
具體如下:
#include<stdio.h>
void main()
{int i,n;
printf("input the n:");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<n;)
{if(n%i==0)
{printf("%d*",i);
n=n/i;}
else i++;
}printf("%d",n);
}
❸ 怎麼用C語言將一個正整數分解質因數.例如,輸入90,輸出90=2*3*3*5
#include "stdio.h"
void main()
{int m,i,j=0;
printf("please input the number:\n");
scanf("%d",&m);
for(i=2;i<=m;i++)
{while(m%i==0)
{j++;
if(j==1) printf("%d=%d",m,i);
else printf("*%d",i);
m=m/i;
}
}
}
沒有用中文,怕你用的是TC,那就會出現亂碼,這程序關鍵在於尋找質因數和輸出格式的控制。
熱點內容