来源:牛客网
题目描述
卖嘤料 卖嘤料~~
3 个空瓶换一瓶。
4 个瓶盖换一瓶。
问已购买 n 瓶嘤料的 QAQ 能喝到多少瓶嘤料?
输入描述
第一行一个正整数 T(0<T<=100)
随后 T 行,每行一个整数 n(0<=n<=1000000)
输出描述
第一行一个正整数 T(0<T<=100)
随后 T 行,每行一个整数 n(0<=n<=1000000)
示例 1
输入
3
1
2
10
输出
1
2
22
题解
这里我们用 Java 语言来示范一下(Ps:我最近在学 Java,所以用 Java 来小试牛刀)
下面直接给出代码
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int T=sc.nextInt();
while(T--!=0)
{
int n=sc.nextInt();
long ans=0L;
long pg=n;
long kp=n;
ans+=n;
while(kp>=3||pg>=4)
{
long res=kp/3+pg/4;
kp=res+kp%3;
pg=res+pg%4;
ans+=res;
}
System.out.println(ans);
}
}
}
补充一下 C++的代码
#include <iostream>
using namespace std;
int main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
long long ans=n,kp=n,pg=n;
while(kp>=3||pg>=3){
long long res=kp/3+pg/4;
kp=res+kp%3;
pg=res+pg%4;
ans+=res;
}
cout<<ans<<endl;
}
return 0;
}