[問題] 算質數: 迴圈條件更改就跑出錯的結果
問題(Question):
起初的的想法是認為第二個FOR迴圈不就簡單用幾個範圍內的數字判斷就好
所以就將for(i = 2; i <= (num/2); i++)
設為for(i = 2; i <= 13; i++)
這樣卻發生了一點問題.....
餵入的資料(Input):
#include <stdio.h>
int main()
{
int i, j, num, prime;
for(num=2; num< 1000; num++)
{
prime = 1;
for(i = 2; i <= 13; i++)\*我愚昧的自認為縮小檢驗範圍*\
{
if( (num%i) == 0 )
{
prime = 0;
break;
}
}
if (prime == 1)
printf("the prime is %d\n",num);
}
return 0;
}
預期的正確結果(Expected Output): 列出所有質數
錯誤結果(Wrong Output): 列出從17開始到1000的質數
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.175.167.85
→
06/14 22:20, , 1F
06/14 22:20, 1F
我應該修改一下我想問的 我想問的那一段程式語言不是應該會把第一段for迴圈
裡面的數字拿來用第二段for迴圈範圍內的數字(2~13)作驗算
為什麼結果直接從17開始??
※ 編輯: Idownor 來自: 1.175.167.85 (06/14 22:38)
→
06/14 22:50, , 2F
06/14 22:50, 2F
謝謝大大的解答,跟我剛剛想的果然一樣!!
※ 編輯: Idownor 來自: 1.175.167.85 (06/14 22:51)
→
06/14 22:58, , 3F
06/14 22:58, 3F
→
06/15 00:28, , 4F
06/15 00:28, 4F
→
06/15 02:25, , 5F
06/15 02:25, 5F
→
06/15 02:27, , 6F
06/15 02:27, 6F
→
06/15 02:30, , 7F
06/15 02:30, 7F
→
06/15 03:15, , 8F
06/15 03:15, 8F
→
06/15 10:38, , 9F
06/15 10:38, 9F
→
06/15 15:06, , 10F
06/15 15:06, 10F
→
06/16 11:58, , 11F
06/16 11:58, 11F
→
06/16 11:58, , 12F
06/16 11:58, 12F
→
06/16 11:59, , 13F
06/16 11:59, 13F
→
06/16 15:26, , 14F
06/16 15:26, 14F
→
06/16 15:27, , 15F
06/16 15:27, 15F
推
06/16 15:31, , 16F
06/16 15:31, 16F
→
06/16 15:32, , 17F
06/16 15:32, 17F
→
06/16 15:45, , 18F
06/16 15:45, 18F
→
06/16 15:45, , 19F
06/16 15:45, 19F
→
06/16 15:47, , 20F
06/16 15:47, 20F
→
06/16 15:47, , 21F
06/16 15:47, 21F
推
06/16 15:48, , 22F
06/16 15:48, 22F
→
06/16 15:49, , 23F
06/16 15:49, 23F
→
06/16 15:51, , 24F
06/16 15:51, 24F
→
06/16 15:51, , 25F
06/16 15:51, 25F
→
06/16 15:52, , 26F
06/16 15:52, 26F
推
06/16 16:04, , 27F
06/16 16:04, 27F
→
06/16 16:06, , 28F
06/16 16:06, 28F
→
06/16 16:12, , 29F
06/16 16:12, 29F
→
06/16 16:13, , 30F
06/16 16:13, 30F
→
06/16 16:13, , 31F
06/16 16:13, 31F
→
06/16 16:16, , 32F
06/16 16:16, 32F
→
06/16 16:17, , 33F
06/16 16:17, 33F
→
06/16 16:18, , 34F
06/16 16:18, 34F
→
06/16 16:18, , 35F
06/16 16:18, 35F
→
06/16 16:18, , 36F
06/16 16:18, 36F
→
06/16 16:21, , 37F
06/16 16:21, 37F
→
06/16 16:22, , 38F
06/16 16:22, 38F
→
06/16 16:23, , 39F
06/16 16:23, 39F
→
06/16 16:24, , 40F
06/16 16:24, 40F
→
06/16 16:24, , 41F
06/16 16:24, 41F
→
06/16 16:29, , 42F
06/16 16:29, 42F
→
06/16 16:43, , 43F
06/16 16:43, 43F
→
06/16 16:44, , 44F
06/16 16:44, 44F
→
06/16 17:17, , 45F
06/16 17:17, 45F
→
06/16 17:21, , 46F
06/16 17:21, 46F
→
06/16 17:23, , 47F
06/16 17:23, 47F
→
06/16 17:23, , 48F
06/16 17:23, 48F
→
06/16 17:29, , 49F
06/16 17:29, 49F
→
06/16 17:44, , 50F
06/16 17:44, 50F
→
06/16 17:46, , 51F
06/16 17:46, 51F
→
06/16 17:49, , 52F
06/16 17:49, 52F
→
06/16 17:49, , 53F
06/16 17:49, 53F
→
06/16 17:50, , 54F
06/16 17:50, 54F
→
06/16 17:51, , 55F
06/16 17:51, 55F
→
06/16 17:51, , 56F
06/16 17:51, 56F
→
06/16 17:52, , 57F
06/16 17:52, 57F
→
06/16 17:54, , 58F
06/16 17:54, 58F
→
06/16 17:56, , 59F
06/16 17:56, 59F
→
06/16 18:06, , 60F
06/16 18:06, 60F
→
06/16 18:19, , 61F
06/16 18:19, 61F
→
06/16 18:26, , 62F
06/16 18:26, 62F
→
06/16 18:33, , 63F
06/16 18:33, 63F
→
06/16 19:31, , 64F
06/16 19:31, 64F
→
06/16 23:16, , 65F
06/16 23:16, 65F
→
06/16 23:17, , 66F
06/16 23:17, 66F
→
06/16 23:32, , 67F
06/16 23:32, 67F
→
06/16 23:36, , 68F
06/16 23:36, 68F