little w and Soda 牛客練習賽34
阿新 • • 發佈:2018-12-16
連結:https://ac.nowcoder.com/acm/contest/297/A
來源:牛客網
四級考完了,偷偷更一篇 qwq
題解:簡單推理題,自己在本子上畫一畫,規律就是如果錢n是偶數,就能買n個,奇數就只能買n-1,需要注意的是判奇偶根據字串最後一個字元判斷。字串處理,數字太大,100次方
程式碼:
#include <iostream> using namespace std; typedef long long ll; int main(){ int t; cin>>t; while(t--){ string x; cin>>x; ll len=x.size(); if((x[len-1]-'0')%2==1) x[len-1]--; cout<<x<<endl; } return 0; }
題目描述
不知道你聽沒聽說過這樣一個腦筋急轉彎。
2元可以買一瓶汽水(玻璃瓶裝的),因為瓶身是玻璃瓶的比較貴,所以兩個瓶身可以換一瓶汽水。你現在有4元錢,問最多能喝到多少瓶汽水?
答案是4瓶。一開始先用4元錢買兩瓶汽水喝掉,再用這兩瓶的汽水的瓶身換一瓶喝到,最後還剩一個瓶身,這個時候再朝小賣部的老闆借一個瓶身。換一瓶汽水喝掉之後再還給他一個瓶身。
現在問題來了,一開始你有n元錢,然後你最多可以向老闆借一個瓶身(注意要還的),問你最多能喝到多少瓶汽水?
輸入描述:
第一行是一個正整數T(T<=100)表示有T組案例。 對於每組案例,輸入一個正整數(1<=n<=10^100)。 (請注意輸入資料的範圍,n有10的100次方那麼大)
輸出描述:
對於每組案例,輸出一行一個正整數表示最多能夠喝到的汽水數目
示例1
輸入
3
1
2
1000000000000000000000000000000
輸出
0
2
1000000000000000000000000000000
說明
1塊錢不能購買汽水,所以共喝到0瓶
2塊錢先買一瓶汽水,喝完以後再借一個空瓶,換一瓶,喝掉以後還給老闆。所以一共可以喝到2瓶。
備註:
請選用合理的資料型別。
int 型的最大值為2147483647。
long long 型的最大值為9223372036854775807。
float的有效數位為6位。
double的有效數位為12位。
所以本題無法使用以上資料型別處理。