請問是我漏算了什麼嗎?
#include <iostream>
#include <stdio.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int a,b;
scanf("%d%d",&a,&b);
int sum=0,sum1=0;
if(a/12>=b){printf("%d\n",b);goto exit;}
for(int i=1;i<=40000;i++)
{
sum+=a/12;
sum1=sum-sum1;
b-=a/12;
a=a%12;
a+=sum1;
if(a+b>12){b=12-a;a=12;b++;}
if(a+b<12)break;
}
printf("%d\n",sum);
exit:
return 0;
}
請問是我漏算了什麼嗎?
#include
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int a,b;
scanf("%d%d",&a,&b);
int sum=0,sum1=0;
if(a/12>=b){printf("%d\n",b);goto exit;}
for(int i=1;i<=40000;i++)
{
sum+=a/12;
sum1=sum-sum1;
b-=a/12;
a=a%12;
a+=sum1;
if(a+b>12){b=12-a;a=12;b++;}
if(a+b<12)break;
}
printf("%d\n",sum);
exit:
return 0;
}
你試試看 0 13 這個測資,答案應該是 1,你的程式會給 14。
最好不要用 goto。
還有程式碼的排版及邏輯可以再清楚一點。