#12180: 解題是不是有錯誤?


as6311498 (孟成)

學校 : 正修科技大學
編號 : 62941
來源 : [223.138.8.140]
最後登入時間 :
2022-05-18 21:57:40
d189. 11150 - Cola -- UVa11150 | From: [122.121.220.2] | 發表日期 : 2017-06-11 14:55

#include <stdio.h>

int main ()
{
int a;
while (~scanf("%d",&a))
{
int s,d,f,g,h,j,k;
s=a/3;
d=a%3;
f=s+d;


if (s<=3)
{
a+=s;

}

if (f>=3 )
{
g=f/3;
h=f%3;
j=g+h;
}
if (f==2)
{
a+=1;
}
a+=j;

printf("%d\n",a);
}
return 0;
}

 

我測試輸入1為1  

可是送出解題他說 我輸入1為2 這是為甚麼? 求解 

 

 
#12184: Re:解題是不是有錯誤?


justinO__o (夜貓)

學校 : 臺北市立成功高級中學
編號 : 51052
來源 : [111.71.212.14]
最後登入時間 :
2024-09-22 17:57:48
d189. 11150 - Cola -- UVa11150 | From: [112.105.249.226] | 發表日期 : 2017-06-11 16:42

#include

int main ()
{
int a;
while (~scanf("%d",&a))
{
int s,d,f,g,h,j,k;
s=a/3;
d=a%3;
f=s+d;


if (s<=3)
{
a+=s;

}

if (f>=3 )
{
g=f/3;
h=f%3;
j=g+h;
}
if (f==2)
{
a+=1;
}
a+=j;

printf("%d\n",a);
}
return 0;
}

 

我測試輸入1為1  

可是送出解題他說 我輸入1為2 這是為甚麼? 求解 

 



你有東西忘記初始化 0u0

你可以試看看

輸入 1 8 9 1

就會發現兩次 1 的答案不一樣了 0u0

 
ZeroJudge Forum