题目描述
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); } }