Applese 的减肥计划

看上去很简单,也确实很简单,主要是似乎要保留10位小数,10.0是错的,10.0000000000才是对的
我中间为了精确用了java的BigDecimal,不知道是不是弄麻烦了,,,趁比赛还没结束,先贴个答案,,,XD
PS:最后输出用的DecimalFormat保留10位小数

import java.math.*;
import java.text.DecimalFormat;
import java.util.*;
import java.lang.Math; 
public class Main{ 
	private static Scanner scanner;
	public static void main(String[] args){ 
		scanner = new Scanner(System.in);    
		String[] strings=scanner.nextLine().split(" ");
		double angle=Double.parseDouble(strings[2]);
		double divide=180;
		angle=angle/divide;
		angle*=Math.PI;
		double sin_angle=Math.sin(angle);
		double cos_angle=Math.cos(angle);
		BigDecimal f1=new BigDecimal(strings[0]);
		BigDecimal f2=new BigDecimal(strings[1]); 
		BigDecimal sin=new BigDecimal(String.valueOf(sin_angle));
		BigDecimal cos=new BigDecimal(String.valueOf(cos_angle));
		BigDecimal xBigDecimal=f1.multiply(cos).add(f2);
		BigDecimal yBigDecimal=f1.multiply(sin);
		BigDecimal ansBigDecimal=xBigDecimal.pow(2).add(yBigDecimal.pow(2));
		double ans=Double.parseDouble(ansBigDecimal.toString());
		ans=Math.sqrt(ans); 
		DecimalFormat decimalFormat=new DecimalFormat("0.0000000000");//保留十位小数,哈哈
		System.out.println(decimalFormat.format(ans)); 
	}
} 

总而言之,又是个水题,哈哈!XD

顺便题目也放一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值