#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 這是為甚麼? 求解
#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