![]() |
|
|||||||
| 論壇說明 |
|
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
|
主題工具 | 顯示模式 |
|
|
#10 (permalink) |
|
管理員
![]() ![]() |
因為質數有一個特性:只能被 1 和自己本身整除。
因此可以利用此依特性來寫程式... 假設只能被 1 和自己整除的話,代表著只能被整除 2 次 程式碼如下: 語法:
// 質數計算
#include <stdio.h> //載入函式庫 stdio
#include <stdlib.h> //載入函式庫 stdlib
#define clrscr() system("CLS") //畫面清除巨集
#define pause() puts("\n") & system("PAUSE") //畫面暫停巨集
#define Max 60 //定義最大值常數 = 60
int main()
{
int i,j,mod_counter; //for_loop 變數 i,j;整除統計 mod_counter
clrscr(); //畫面清除
for ( i=1; i<=Max; i++ ) { //座取餘數除法的Loop1,i 為被除數
mod_counter = 0; //整除統計歸零
for ( j=1; j<=i; j++ ) //座取餘數除法的Loop2,j 為除數
if ( i%j == 0 ) mod_counter ++ ; //當被整除時,整除計數 +1
if ( mod_counter == 2 ) printf ("%3d,\t",i);
//當被整除次數只有 2 次,為質數並顯示
}
pause(); //畫面暫停
}
代表著只能被整除 1 次,程式碼如下: 語法:
// 質數計算
#include <stdio.h> //載入函式庫 stdio
#include <stdlib.h> //載入函式庫 stdlib
#define clrscr() system("CLS") //畫面清除巨集
#define pause() puts("\n") & system("PAUSE") //畫面暫停巨集
#define Max 60//定義最大值常數 = 60
int main()
{
unsigned long int i,j,mod_counter; //for_loop 變數 i,j;整除統計 mod_counter
clrscr(); //畫面清除
for ( i=2; i<=Max; i++ ) { //座取餘數除法的Loop1,i 為被除數
mod_counter = 0; //整除統計歸零
for ( j=2; j<=i; j++ ) //座取餘數除法的Loop2,j 為除數
if ( i%j == 0 ) mod_counter ++ ; //當被整除時,整除計數 +1
if ( mod_counter == 1 ) printf ("%3d,\t",i);
//當被整除次數只有 1 次,為質數並顯示
}
pause(); //畫面暫停
}
![]() 此帖於 2007-11-05 09:45 AM 被 getter 編輯. |
|
__________________ 在「專業主討論區」中的問題解決後,要記得按一下 按鈕喔,這是一種禮貌動作。 ![]() 一樣是在「專業主討論區」中發問,不管問題解決與否,都要回應別人的回答文喔。 不然搞 [斷頭文],只看不回應,下次被別人列入黑名單就不要怪人喔。 天線寶寶說再見啦~ ... 天線寶寶說再見啦~ 迪西:「再見~ 再見~」 『 Otaku Culture Party 』 關心您 ...
|
|
|
|
送花文章: 37855,
|