#4800: C 請問 在line8 出錯了 有人能幫忙嘛?


lolomonster (lolo)

學校 : 國立虎尾科技大學
編號 : 15897
來源 : [218.173.156.36]
最後登入時間 :
2011-01-29 21:40:25
a007. 判斷質數 | From: [218.173.163.181] | 發表日期 : 2011-01-25 12:43

#include<stdio.h>
#include<math.h>

int main()
{
 int a,i,k;

 while(scanf("%d",&a)==1)
 {
if(a==2) {printf("質數\n");}

else{

k=(int)sqrt(a);

for(i=2;i<k+1;i++)
{
if(a%i==0)
{printf("非質數\n");break;}
if(a%i!=0)
{printf("質數\n");}
}
}
 }
 return 0;
}
 
我不知道哪裡出錯了呢
line 8到底是甚麼?@@ 
 
#4802: Re:C 請問 在line8 出錯了 有人能幫忙嘛?


popular10347 (ICPC// 哪時能唸到高等演算法T^T)

學校 : 元智大學
編號 : 11351
來源 : [1.169.118.99]
最後登入時間 :
2012-10-29 00:22:54
a007. 判斷質數 | From: [125.231.169.45] | 發表日期 : 2011-01-25 12:52

#include
#include

int main()
{
 int a,i,k;

 while(scanf("%d",&a)==1)
 {
if(a==2) {printf("質數\n");}

else{

k=(int)sqrt(a);

for(i=2;i
{
if(a%i==0)
{printf("非質數\n");break;}
if(a%i!=0)
{printf("質數\n");}
}
}
 }
 return 0;
}
我不知道哪裡出錯了呢
line 8到底是甚麼?@@ 


for(i=2;i<k+1;i++)
{
      if(a%i==0)
     {printf("非質數\n");break;}
     if(a%i!=0)
    {printf("質數\n");}
}
迴圈的第二個if是多餘的
你應該讓他在for迴圈外面判斷看i是到哪一數字?
簡單的說你自己輸入9就會發現錯了
 
ZeroJudge Forum