#13438: WHY Error? C


mkylamkuan (NoahD)

學校 : 孔子中學
編號 : 70890
來源 : [205.215.21.164]
最後登入時間 :
2018-10-22 20:33:50
a121. 質數又來囉 | From: [120.84.10.157] | 發表日期 : 2018-02-18 12:47

您的答案為: 183
正確答案為: 46
why?:
#include<stdio.h>

int main(void)
{
int i=0,j=0,k=0;
int n=0,m=0,flat=0,true1=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n>=1&&n<=m<=100000000)
{


for(i=n;i<=m;i++)
{
for(j=2;j<=8;j++)
{
if(i!=j)
{
if(i%j==0)
{
true1=1;
}
}
}
if(true1==0)
{
flat++;
}
true1=0;
}
printf("%d\n",flat);

flat=0;
true1=0;
}
}
return 0;
}
 
#13620: Re:WHY Error? C


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a121. 質數又來囉 | From: [218.164.125.30] | 發表日期 : 2018-03-29 23:31

您的答案為: 183
正確答案為: 46
why?:
#include<stdio.h>

int main(void)
{
int i=0,j=0,k=0;
int n=0,m=0,flat=0,true1=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n>=1&&n<=m<=100000000)
{


for(i=n;i<=m;i++)
{
for(j=2;j<=8;j++)
{
if(i!=j)
{
if(i%j==0)
{
true1=1;
}
}
}
if(true1==0)
{
flat++;
}
true1=0;
}
printf("%d\n",flat);

flat=0;
true1=0;
}
}
return 0;
}

1. 題目告知「輸入兩個正整數a,b(1<=a<=b<=100000000)」就不需要再用 if 判斷了 (if(n>=1&&n<=m<=100000000) 用不到)。

2. 用來判斷某數 (以你的 code 是 i) 的數 (以你的 code 是 j),其中 j 不是只有 2 ~ 8 而已,像是 143 就會被你判斷是質數,但 143 = 11 x 13 是合數。



 
ZeroJudge Forum