[問題] While新手問題
開發平台(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出問題
只是不知道該怎麼改
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.27.35
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1428317539.A.207.html
推
04/06 18:54, , 1F
04/06 18:54, 1F
→
04/06 18:57, , 2F
04/06 18:57, 2F
→
04/06 18:59, , 3F
04/06 18:59, 3F
→
04/06 19:13, , 4F
04/06 19:13, 4F
→
04/06 19:15, , 5F
04/06 19:15, 5F
最後面有i++
※ 編輯: q10242 (1.163.27.35), 04/06/2015 19:16:06
→
04/06 19:21, , 6F
04/06 19:21, 6F
是分號問題嗎 改掉了
但還是一樣 囧
※ 編輯: q10242 (1.163.27.35), 04/06/2015 19:37:44
→
04/06 19:37, , 7F
04/06 19:37, 7F
→
04/06 22:00, , 8F
04/06 22:00, 8F
→
04/06 22:01, , 9F
04/06 22:01, 9F
→
04/07 21:54, , 10F
04/07 21:54, 10F
→
04/07 21:55, , 11F
04/07 21:55, 11F
→
04/07 22:02, , 12F
04/07 22:02, 12F
→
04/07 22:11, , 13F
04/07 22:11, 13F