试题 算法训练 猴子吃包子
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃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
思路:小技巧就是输前面输入的是吃的速度x,y,z,然后是包子的数量x1,y1,z1,再到保留的位数。输出使用的是printf进行格式化。
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//吃包子的时间
int[] a=new int[3];
//包子的个数
int[] b=new int[3];
//输入吃包子的时间
for(int i=0;i<3;i++)
{
a[i]=sc.nextInt();
}
//输入包子的个数
for(int i=0;i<3;i++)
{
b[i]=sc.nextInt();
}
//控制保留n位小数位
int n=sc.nextInt();
//储存所用的时间
double time=0;
for(int i=0;i<3;i++)
{
//隐式转换为浮点型数据
time+=1.0*b[i]/a[i];
}
//输出控制n位小数位
System.out.printf("%."+n+"f",time);
}
}