试题 算法训练 猴子吃包子

问题描述
  从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。
输入格式
  输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数和保留的位数。
输出格式
  输出一行,包含1个实数,表示吃完所有包子的时间。
样例输入
4 3 2 20 30 15 2
样例输出
22.50
数据规模和约定
  0<x<100;0<y<100;0<z<100;0<x1<=1000000;0<y1<=10000000;0<z1<=10000000;0<p<=1000

代码块:

import java.util.Scanner;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		double v1 = sc.nextDouble();
		double v2 = sc.nextDouble();
		double v3 = sc.nextDouble();
		double b1 = sc.nextDouble();
		double b2 = sc.nextDouble();
		double b3 = sc.nextDouble();
		int w = sc.nextInt();
		
		double sum = 0;
		sum = (b1*1.0)/v1 + (b2*1.0)/v2 + (b3*1.0)/v3;
		
		System.out.println(String.format("%.2f", sum));
	}
}

评测结果
———————————————————————分割线——————————————————
上面的代码中是以小数点后两位的形式输出,而不是以小数点后p位的形式输出,至于为什么会对,是因为练习系统中给出的都是保留小数点后两位的output,下面是我截取的六个输入案例
在这里插入图片描述
下面是保留p位的代码

import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		double v1 = sc.nextDouble();
		double v2 = sc.nextDouble();
		double v3 = sc.nextDouble();
		double b1 = sc.nextDouble();
		double b2 = sc.nextDouble();
		double b3 = sc.nextDouble();
		int w = sc.nextInt();
		
		double sum = 0;
		sum = (b1*1.0)/v1 + (b2*1.0)/v2 + (b3*1.0)/v3;
		
		//控制位数
		String s = "0.";
		while(w > 0){
			s += "0";
			w--;
		}
		//System.out.println(s);
		
		DecimalFormat df = new DecimalFormat(s);
		System.out.println(df.format(sum));
	}
}

评测结果
在这里插入图片描述
保留小数后的位数可以看一下这位博主的文章(点击查看)

In the end, if you have questions, looking forward to your comments

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值