trade war

题目描述

2018年的春天,特朗普这个不靠谱的的家伙悍然向中国发起了贸易战,贸易战是一场没有赢家的战争,美国向中国商品加征关税,自身会受到伤害,同时,中国也会提出反制措施。我就是想问一问,经过多轮贸易战之后,美国自身受到损失额是多少。

输入

第一行输入两个正整数m,n(1<=m<=100,100<=n<=200),m代表美国对中国100美元的商品加征关税,自身受到的损失额;n代表中国对美国100美元的商品增加关税,美国受到的损失额。

第二行开始,每行两个正整数a1,a2(1<=a1,a2<=1012),a1表示美国对中国加征关税的商品金额,a2表示中国对美国加征关税的商品金额。输入0表示结束。

输出

输出一个实数,表示美国经过多轮贸易战之后受到的损失额,保留2位小数。

样例输入

80 150
500 500
1000 1200
0

样例输出

3750.00

算法:

import java.math.BigDecimal;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		
		Scanner reader = new Scanner(System.in);
		String sunshie = reader.nextLine();
		String[] sunshieshuzu = sunshie.split(" ");
		BigDecimal m = new BigDecimal(sunshieshuzu[0]);
		BigDecimal n = new BigDecimal(sunshieshuzu[1]);
		BigDecimal sum = new BigDecimal("0");
		BigDecimal s1 ;
		BigDecimal s2 ;
		
		String jine = reader.nextLine();
		String[] jineshuzu = jine.split(" ");
		BigDecimal a = new BigDecimal(jineshuzu[0]);
		while(a.intValue() != 0) {
			BigDecimal b = new BigDecimal(jineshuzu[1]);
			s1 = a.multiply(new BigDecimal("100")).divide(new BigDecimal("100")).multiply(m);
			s2 = b.multiply(new BigDecimal("100")).divide(new BigDecimal("100")).multiply(n);
			sum = sum.add(s1);
			sum = sum.add(s2);
			jine = reader.nextLine();
			jineshuzu = jine.split(" ");
			a = new BigDecimal(jineshuzu[0]);
		}
		
		
		DecimalFormat df = new DecimalFormat("0.00");
		BigDecimal s = new BigDecimal("1.23");
		s = sum.divide(new BigDecimal("100"));
		String str = df.format(s);
		System.out.println(str);
	}
}

  


原文地址:https://www.cnblogs.com/-rainbow-/p/8902092.html