Java实现P2433 【深基1-2】小学数学 N 合一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import java.util.Scanner;

public class Main {
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int t=sc.nextInt();
		if(t==1) {
		System.out.println("I love Luogu!");
		}else if(t==2) {
		System.out.println("6 4");
		} else if(t==3) {
		System.out.println(14/4);
		System.out.println("12");
		System.out.println("2");
		}else if(t==4) {
		double x=(double)500/3;
		String y=String.format("%.3f", x);
		System.out.println(y);
		}else if(t==5){
		System.out.println((220+260)/(20+12));
		}else if(t==6) {
		double n=Math.sqrt(6*6+9*9);
		String m=String.format("%.4f",n);
		System.out.println(m);
		}else if(t==7) {
			System.out.println(100+10);
			System.out.println(110-20);
			System.out.println("0");
		}else if(t==8) {
			double PI=3.141593;
			int r=5;
			double c=2*PI*r;
			String cs=String.format("%.4f", c);
			System.out.println(cs);
			double s=PI*r*r;
			String ss=String.format("%.4f", s);
			System.out.println(ss);
			double v=4*PI*r*r*r/3;
			String vs=String.format("%.3f", v);
			System.out.println(vs);
		}else if(t==9) {
			System.out.println((((1+1)*2+1)*2+1)*2);
		}else if(t==10) {
			System.out.println("9");
		}else if(t==11) {
			double s=1.0*100/3;
			String ss=String.format("%.4f", s);
			System.out.println(ss);
		}else if(t==12) {
			System.out.println((int)('M'-'A')+1);
			System.out.println((char)('A'+18-1));
		}else if(t==13) {
			double PI=3.141593;
			int r1=5,r2=10;
			double v=4*PI*r1*r1*r1/3+4*PI*r2*r2*r2/3;
			double a=Math.pow(v, 1.0*1/3);
			System.out.println((int)a);
		}else if(t==14) {
			System.out.println("50");
		}
	}
}

if条件语句
if条件语句分为三种语法格式,具体如下:
(1)if语句
if语句是指如果满足某种条件,就进行某种处理,其语法格式如下所示:

if(条件语句){
	代码块
}

在这里插入图片描述

上述语法格式中,判断条件是一个布尔值,当值为true时,才会执行{}中的语句。
(2)if…else语句
If…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理,其语法格式如下所示:

if(判断条件){
	执行语句1
	}else{
	执行语句2
}

在这里插入图片描述

(3)if…else if…else语句
If…else if …else语句用于对多个条件进行判断,进行多种不同的处理,其语法格式如下所示:

if(判断条件1{
	执行语句1
}else if(判断条件2{
	执行语句2
}
...
else if(判断条件n){
	执行语句n
}else{
	执行语句n+1
}

在这里插入图片描述
基本准则:包含范围小的条件放前处理。
tips:

  1. 按题目输出,注意空格标点
  2. 2+4 10-(2+4)
  3. 14/4
    14/44(14/4处因为整形的隐形转换,所以14/4是3,然后乘4,而不会直接消掉,而且注意从左到右的计算顺序,如果先乘4则4可以跟分母消掉就不对了)
    14-14/4
    4
  4. 500/3,注意有效数字包括整数部分和小数部分,整数部分是166,所以小数需要保留3位。
  5. 相遇问题:路程和=时间*速度和=火车长度和
  6. 勾股定理+Math.sqrt
  7. 100+10
    100+10-20
    没钱了肯定是0
  8. println和cout对输出的位数限制为:在这里插入图片描述
    本来见题目上对结果没有小数点位数限制,就直接输出了,但是一直在WA,~~差点以为我连勾股定理都不会了,~~看了看题解都是一行输出,用c++写了一下发现能过,于是乎对比了输出结果,发现位数之差有点多,这个细节要注意啦。
    球的公式: (叶子每用一次都混一次)
    S=4πr^2
    V=4/3πr^3
  9. 使用倒推法解决。
  10. 小学奥数的牛吃草问题。但是在8台30分钟完成和10台6分钟完成之间,想要10分钟完成只能要九台。
    或者算式:设每分钟增长y个任务,初始量为x,则x+30y=830 x+6y=106,解得x=15,y=7.5,代入求10台15+7.5*10=9
  11. 追及问题:路程差=追及时间*速度差
  12. 利用其余字母与A的ASCII码比较确定其余字符ASCII码。
    利用A与其余字母的位置关系求具体字母,注意加一减一。
  13. Math.pow(x,y):返回x的y次方。
    利用体积总和不变解。
  14. 一元二次方程。
    设x为定价
    x(10+110-x)=3500
    解得x=50或70,由于取较小的那个数,所以x=50。
    至于为什么不是价钱抬高,因为越抬高总价越小,可以算算试试,或者写个二次函数分析一下:y=x(10+110-x)=-x^2+120,对称轴在x=60处,开口向下,所以当x>110时,总价的趋势是递减。
    最后吐槽这道题真是太太太细节了,突然羡慕c++组了,因为cout和println的差别我就找了一下午。写题解又是一下午www
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值