#11700: NA (score:50%)


eric1218 (小刀)

學校 : 不指定學校
編號 : 54466
來源 : [36.230.82.133]
最後登入時間 :
2023-05-27 10:20:09
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [1.160.29.45] | 發表日期 : 2017-02-01 13:19

請問是我漏算了什麼嗎?

#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;
}

 

 
#11757: Re:NA (score:50%)


_OAQ_ (OHO)

學校 : 臺北市私立延平高級中學
編號 : 63627
來源 : [114.36.82.127]
最後登入時間 :
2017-03-25 02:31:52
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [42.66.168.18] | 發表日期 : 2017-02-21 02:43

請問是我漏算了什麼嗎?

#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。

還有程式碼的排版及邏輯可以再清楚一點。



 
ZeroJudge Forum