iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
自我挑戰組

JAVA簡易教學+CPE歷屆試題講解系列 第 26

[iT鐵人賽Day26]練習題(5)

這次要來講20201222的第五題了
這次的題目比較簡單,但是題目敘述很長
大意就是:有一個人很愛喝汽水,可是有一天他沒有足夠的錢去買汽水,
於是決定用換的去兌換汽水,
e代表一開始他有的空瓶數量,
f代表他後來又有的空瓶數量,
c代表幾個空瓶可以換一瓶汽水,
然後題目給的輸入是:
2
9 0 3
5 5 2

題目問最多可以換多少瓶汽水。
程式碼如下:

import java.util.*;
class main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int t=sc.nextInt();
		while(t-->0){
			int sum=sc.nextInt()+sc.nextInt();
			int n=sc.nextInt();
			int num=0;
			while(sum>=n){
				num=num+sum/n;
				sum=sum/n+sum%n;
			}
			System.out.println(num);
		}
	}
}

int t=sc.nextInt()代表t等於2,表示t有兩筆資料
while(t-->0),t--表示t持續減1,減到等於0停止運算
然後輸入第一筆資料:int sum=sc.nextInt()+sc.nextInt(),sum=9+0
int n=sc.nextInt(),n=3
sum/n算出可以換到的汽水,算出可以得到3瓶。。。
你以為總共就3瓶嗎?不 天真的我當時也是這樣認為的
但是怎麼算就是跟題目給的答案不一樣!?
因為換到的3瓶,可以再/3去換1瓶,這樣總共3+1得到4瓶。
第二筆資料5 5 2也是同樣的作法。
一開始我以為這是普通的程式碼題目,到後面發現原來是數學題啊!
害得我怎麼算怎麼不對。
總之,今天的題目就這樣。程式碼蠻簡單的,只是運算時稍微卡了一下。
執行結果如下:
https://ithelp.ithome.com.tw/upload/images/20210926/201405673QyMCnyljk.png


上一篇
[iT鐵人賽Day25]練習題(4)
下一篇
[iT鐵人賽Day27]練習題(6)
系列文
JAVA簡易教學+CPE歷屆試題講解30

尚未有邦友留言

立即登入留言