題目:將一個正整數分解質因數,例如:輸入90,列印出90=2*3*3*5,
程式分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
- (1)如果這個質數恰等于(小于的時候,繼續執行回圈)n,則說明分解質因數的程序已經結束,另外 列印出即可,
- (2)但n能被k整除,則應列印出k的值,并用n除以k的商,作為新的正整數n.重復執行第二步,
- (3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步,
實體:
1 #include<stdio.h> 2 int main() 3 { 4 int n,i; 5 printf("請輸入整數:"); 6 scanf("%d",&n); 7 printf("%d=",n); 8 for(i=2;i<=n;i++) 9 { 10 while(n%i==0) 11 { 12 printf("%d",i); 13 n/=i; 14 if(n!=1) printf("*"); 15 } 16 } 17 18 printf("\n"); 19 return 0; 20 }
以上實體輸出結果為:
請輸入整數:90 90=2*3*3*5
感謝你的閱讀,請用心感悟!希望可以幫到愛學習的你!!分享也是一種快樂!!!請接力,,,
點擊查看原文,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24364.html
標籤:C
下一篇:C 實戰練習題目15
