發布時間:2024-01-24閱讀(16)
題目要求:
根據數論的知識可知任何一個合數都可以寫成幾個質數相乘的形式,這幾個質數都叫做這個合數的質因數。例如24=2*2*2*3。把一個合數寫成幾個質數相乘的形式表示,叫做分解質因數。對于一個質數,它的質因數可定義為它本身。編寫一個程序實現分解質因數。
# include "stdio.h"int isPrime(int a){ /*判斷a是否是質數,是質數返回1,不是質數返回0*/ int i; for(i=2;i<=a-1;i ) if(a % i == 0) return 0; /*不是質數*/ return 1; /*是質數*/}void PrimeFactor(int n){ /*對參數n分解質因數*/ int i; if(isPrime(n)) printf("%d ",n); else { for(i=2;i<=n-1;i ) if(n % i == 0) { printf("%d ",i); /*第一個因數一定是質因數*/ if(isPrime(n/i)) {/*判斷第二個因數是否是質數*/ printf("%d ",n/i); break; /*找到全部質因子*/ } else PrimeFactor(n/i);/*遞歸地調用PrimeFactor 分解n/i */ break; } }}main(){ int n; printf("Please input a integer for getting Prime factor
") ; scanf("%d",&n); PrimeFactor(n); /*對n分解質因數*/ getche();}
運行結果:

運行結果
下一篇:紅娘是哪一部作品中的人物
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖