Re: [問題] 關於質因數分析

看板C_and_CPP (C/C++)作者 (沒有r的男人)時間16年前 (2010/01/29 11:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
剛好有碰到這問題,解決方式為 可以參考看看 #include<stdio.h> #include<stdlib.h> int is_prime(int); int main(void) { int i,num; printf("輸入正整數:\n"); scanf("%d",&num); for(i=2;i<=num;i++) if(is_prime(i)&&num%i==0) printf("%3d",i); system("pause"); return 0; } int is_prime(int num) { int i; for(i=2;i<=num-1;i++) if(num%i==0) return 0; return 1; } ※ 引述《qDaniel (去Lava寫Java)》之銘言: : 遇到的問題: (題意請描述清楚) : 程式可以跑 但是沒有回應值 : 希望得到的正確結果: : 輸入一個數字 回傳他的因數相承 : EX: input 50 ; output 50=2*5*5 : 程式跑出來的錯誤結果: : 程式沒有回傳值 : 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) : Dev-C++ 使用語言:C : 補充說明: : #include<stdio.h> : #include<stdlib.h> : #include<math.h> : #define MAX 100 : int main(){ : int N; // 欲分解之N=數字大小 : int i, j=0; // i,j迴圈要使用 : int count=0; // count=總共幾個因數 : int value; // value=N用來做迴圈前的值 : int b[MAX]; // 將因數純在b陣列 : printf("value = "); : scanf("%d",&N); : value=N; : while(N>1){ : for(i=2;i<=sqrt(N);i++){ : if(value%i == 0){ : b[j]=i; : j++; : count++; // 算總共幾個 : } : }value=N/i; : } : printf("%d = ",N); : for(j=0;j<=count;j++) : printf("%d *",b[j]); : system("pause"); : return 1; : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84
文章代碼(AID): #1BOb0fBY (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1BOb0fBY (C_and_CPP)