1. 程式人生 > 其它 >0017 分解質因數

0017 分解質因數

問題描述:

  將一個正整數分解質因數,例如:輸入90,輸出:90=2*3*3*5

程式碼展示:

 1 #include<stdio.h> 
 2 int isZhuShu(int n);
 3 int main(){
 4     int n,i=2,j;
 5     int a[10];
 6     int count=0;
 7     printf("請輸入正整數:"); 
 8     scanf("%d",&n); 
 9     int temp = n;
10     for(i=2;temp!=1;){        //尋找符合的質因數 
11         if
(isZhuShu(i)==1){ 12 if(temp%i==0){ 13 a[count++] = i; 14 temp /= i; 15 }else{ 16 i++; 17 } 18 }else{ 19 i++; 20 } 21 } 22 printf("%d=",n); //輸出 23 for(j=0; j<count;j++){
24 if(j!=count-1){ 25 printf("%d*",a[j]); 26 }else{ 27 printf("%d",a[j]); 28 } 29 } 30 return 0; 31 } 32 int isZhuShu(int n){ //判斷是否是質數 33 int i=2; 34 for(i=2; i<n/2; i++){ 35 if(n%i==0){ 36 return -1; 37 }
38 } 39 return 1; 40 }

執行截圖: