1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> #include<math.h> //x空瓶子 int f(int x){ if(x<2) return 0; else return f(x/2+x%2)+x/2; } int main(){ int n,m; scanf("%d%d",&n,&m); printf("%d",f(m/n)+m/n); return 0; }C++ :
#include <bits/stdc++.h> using namespace std; //x个瓶子换饮料 int fun(int x){ if(x >= 2){ return x / 2 + fun(x / 2 + x % 2); } else{ return 0; } } int main(){ int n,m; cin>>n>>m; //直接买到的数量+换的数量 cout<<m/n+fun(m/n)<<endl; return 0; }Pascal :
var n,m,a,x:longint; begin read(n,m); a:=m div n; x:=a; while a>=2 do begin x:=x+(a div 2); if a mod 2=0 then a:=a div 2 else a:=(a-1) div 2+1; end; write(x); end.Java :
import java.util.Scanner; public class Main { public static int Buycoke(int p) { if(p==1) { return 1; }else { if(p%2==0) { return p+Buycoke(p/2); }else { return p+Buycoke(p/2)+1; } } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int m=sc.nextInt(); int t=Buycoke(m/n); System.out.println(t); } }
- 1
信息
- ID
- 356
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者