查看單個文章
  #4  
舊 2014-03-14, 04:03 PM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 23,016
預設

#include <stdio.h>
int main(void)
{
int num,x,y,prime;
printf("enter a number: \n");
scanf("%d",&num);
for(x=1;x<=num;x++) {
for(y=2;y<=x/2;y++)
if(x%y==0) {prime=0;break;}//為何這裡要增加 prime=0?
if((x%y!=0) && x!=1) prime=x;
if (prime!=0) printf("%d\n",prime); //為何要加if(prime!=0)
}
return 0;
}

有一點想不太通它的邏輯推演。

從邏輯上來說,prime=x,而x=1開始,且如果有prime=0則break,應該不會再出現有prime==0的情形啊?
__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章