作者MontaEllis8 (萌塔愛麗絲)
看板C_and_CPP
標題[問題] 新手問質數問題
時間Mon Sep 14 01:48:03 2009
以下是C語言教學手冊某一題的解答
內容是找出小於所輸入數字的最大質數
但是我發現輸入某些數 印出來的卻不是質數 ex:輸入28,印出來25
除此之外還有其他數字也是一樣
我檢查很久找不出有什麼錯誤= =
希望板上的朋友能幫我看一下 謝謝
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i,num,prime,flag=0;
printf("請輸入一個整數: ");
scanf("%d",&num);
prime=num-1;
while(flag!=1)
{
for(i=2;i<prime;i++)
if(prime%i==0) /* not a prime */
{
prime--;
continue;
}
flag=1;
}
printf("小於%d 的最大質數為%d\n",num,prime);
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.191.47
1F:→ hilorrk:prime--之後i要回到2 09/14 01:59
2F:推 VictorTom:總覺得這個演算法邏輯很怪, 找質數為什麼i要加prime又要 09/14 09:52
3F:→ VictorTom:減呢??建議先畫個簡單的流程圖或寫個pseudo code先吧@@" 09/14 09:52