開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
DevC++
我現在在解高中生解題系統
裡面的質數問題
為了要判斷輸入的數字是否為質數
並且有可能有兩萬個數字要判斷
為了加快速度 因此有建表機制
邏輯:先判斷表內的數字有沒有能整除的 有就不是質數
如果表內沒有 再從1到X-1都整除一次看看 如果有能整除的 就不是質數
如果以上兩個條件都不行 那就是質數 將這個質數存到prime陣列裡面
以後就可以拿出來比對
餵入的資料(Input):
各種自己隨便亂打的整數
預期的正確結果(Expected Output):
如果是質數應該就會有質數出來
不是質數就會有非質數出來
錯誤結果(Wrong Output):
輸入之後毫無反應
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int prime[20000];
int number;
int i=0;
int j;
while(1);
{
scanf("%i",&number);
for (j=0;j<=i;j++)
{
if(number%prime[j]==0)
{
printf("非質數");
continue;
}
}
for (j=2;j<=number;j++)
{
if(number%j==0)
{
printf("非質數");
continue;
}
}
printf("質數");
prime[i]=number;
i++;
}
return 0;
}
補充說明(Supplement):
我認為可能是我while迴圈裡面的scanf出問題
只是不知道該怎麼改