williamd 10 發表於 April 20, 2011 檢舉 Share 發表於 April 20, 2011 (已編輯) #include <stdio.h>#include <stdlib.h>int main(){ int set,testa,testb,count,k; printf("輸入一個正整數做質因數分解:"); scanf("%d",&set); for(testa = 2 ; testa<=set ; testa++){ count = 0; for(testb = 1 ; testb <= testa ; testb++) { if(testa%testb==0) { count++; } } if(count==2) { if(set%testa ==0) { for(k=1;k<=set;k++) { if(set%testa^k==0) { printf("%d ",testa); } } } }} system("PAUSE"); return 0;}執行的結果是沒有跑出任何東西...輸入完數字之後就"請按任意鍵繼續"請問哪個部分寫錯了?※:預期的執行結果輸入一個正整數列出他的質因數分解※:想法:1.要求使用者設定一個正整數2.從2開始,取testa/testb(從1開始到testa)的餘數(若為0,則計數器+1)3.若計數器=2,則判斷為質數4.若為質數,則取set/testa的餘數,若為0則開始以下迴圈5.設定一個k(作為次方數),判斷set/testa的餘數,若為0則輸出testa 此內容已被編輯, April 22, 2011 ,由 j100002ben 鏈接文章 分享到其他網站
不重要 11 發表於 April 20, 2011 檢舉 Share 發表於 April 20, 2011 ^不是次方是XOR要用次方的話就自已寫個function或是include<math.h>後用pow 鏈接文章 分享到其他網站
伊達政宗 11 發表於 April 21, 2011 檢舉 Share 發表於 April 21, 2011 (已編輯) pow似乎有些BUG建議是自己寫一個函式最重要的一點:要排版!!!http://codepad.org/8HL1ZxBZ 此內容已被編輯, April 21, 2011 ,由 伊達政宗 鏈接文章 分享到其他網站
j100002ben 10 發表於 April 22, 2011 檢舉 Share 發表於 April 22, 2011 不用到codepad啦...發文的時候有一個小按鈕「原始碼」可以貼Code[NOPARSE]看你要用還是前面一個是通用,後面的是和PHP差不多的(包括C、C++、C#)都可以用[/NOPARSE] 鏈接文章 分享到其他網站
DUM 10 發表於 August 17, 2011 檢舉 Share 發表於 August 17, 2011 (已編輯) #include<stdio.h> #include<cstdlib>using namespace std;void fun(int);int main (void){ int set; printf("輸入一個正整數做質因數分解:"); scanf("%d",&set);fun(set); system("pause"); return 0; }void fun(int n){ int a[1000]={0}; int k=0; for(int i=2;i<1000;i++){ for(;n%i==0;k++)n/=i; a=k; k=0; } for(int i=0;i<100;i++){ if(a!=0)printf("%d^%d ",i,a);} return;} 此內容已被編輯, August 17, 2011 ,由 DUM 鏈接文章 分享到其他網站
Recommended Posts
請登入後來留意見
在登入之後,您才能留意見
立即登入