文章目录
P5709 【深基2.习6】Apples Prologue / 苹果和虫子
P2433 【深基1-2】小学数学 N 合一



import java.math.BigDecimal;
import java.math.MathContext;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a, b, c, d;
double e, f;
double pi = 3.141593;
switch (n) {
case 1:
System.out.println("I love Luogu!");
break;
case 2:
a = 2 + 4;
b = 10 - a;
System.out.printf("%d %d", a, b);
break;
case 3:
a = 14 / 4;
b = a * 4;
c = 14 - b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
break;
case 4:
e = 500;
f = 3;
BigDecimal g = new BigDecimal(String.valueOf(e / f));
MathContext mc = new MathContext(6);// 有效数字位数位6
System.out.println(g.divide(BigDecimal.ONE, mc));// 让e/f的结果除1,并且保留6位小数
break;
case 5:
a = 260 + 220;
b = 12 + 20;
c = a / b;
System.out.println(c);
break;
case 6:
e = Math.sqrt(6 * 6 + 9 * 9);
System.out.printf("%.4f", e);
break;
case 7:
a = 100 + 10;
b = a - 20;
c = 0;
System.out.printf("%d\n%d\n%d", a, b, c);
break;
case 8:
int r = 5;
e = 2 * r * pi;
f = pi * r * r;
double v = (4 / 3.0) * pi * r * r * r;
System.out.printf("%.4f\n%.4f\n%.3f", e, f, v);
break;
case 9:
a = (((2 * 2) + 1) * 2 + 1) * 2;
System.out.println(a);
break;
case 10:
System.out.println(9);
break;
case 11:
e = 100 / 3.0;
System.out.printf("%.4f", e);
break;
case 12:
a = 'A';
b = 'M' - 'A' + 1;
char q = (char) (a + 18 - 1);
System.out.println(b);
System.out.println(q);
break;
case 13:
e = (4 / 3.0 * 4 * 4 * 4 * pi) + (4 / 3.0 * 10 * 10 * 10 * pi);
f = Math.cbrt(e);
System.out.println((int) (Math.floor(f)));
break;
case 14:
a = 110;
b = 10;
c = d = 0;
a--;
for (; a > 0; a--) {
b++;
if (a * b > 3500)
c = a;
if (a * b < 3500 && a < c) {
d = a;
if ((d - 1) * (b + 1) < 3500)
break;
}
}
int b1 = 120 - c;
int b2 = 120 - d;
int b3 = (b1 + b2) / 2;
int w;
if (b3 * (c + d) / 2 > 3500)
w = d;
else if (b3 * (c + d) / 2 < 3500)
w = c;
else
w = (c + d) / 2;
System.out.println(w);
break;
}
}
}
Tips:题目中提到了cout,在c++中cout的默认输出是保留六位有效数字,大家可以注意一下。
还有就是这里面用到了高精度的东西,这个东西到了【算法1-1】详细说
P5709 【深基2.习6】Apples Prologue / 苹果和虫子

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
float b = sc.nextFloat();
int c = sc.nextInt();
if (b == 0) {
b = a;
a = 0;
if(c == 0)
a = (int)b;
} else {
a -= Math.ceil(c / b);
if (a < 0)
a = 0;
}
System.out.println(a);
}
}
这题改了?我怎么记得我做的时候没有说是三个非负整数 (x_x)
注意点:如果吃一个苹果需要0min,但时间只过去0min,那么它一个苹果也没吃上(
但如果时间比0min稍微多一点,哪怕多一秒,他也能把苹果都吃完,毕竟一个苹果只需要吃0min
P5710 【深基3.例2】数的性质

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x[] = new int[4];//x数组分别表示四个人
x[0] = x[1] = 0;
x[2] = 1;
x[3] = 2;
int a = sc.nextInt();
if ((a%2) == 0) {
x[0] += 1;
x[1] += 2;
x[2] += 3;
x[3] = 0;
}
if(a>4 && a<=12) {
x[0] += 1;
x[1] += 2;
x[2] += 3;
x[3] = 0;
}
for(int i = 0;i<x.length;i++) {
if(x[i] == 2 || x[i] == 4)
x[i] = 1;
else
x[i] = 0;
System.out.printf("%d ",x[i]);
}
}
}
我承认我这题当初做的是凑出来的,所以我的代码大家应该看不太懂,我稍微解释一下,看看大家能不能对上我的电波喵(
先不看初始值,我们先分析题干,第一个人喜欢两个条件同时成立,不妨假设满足一个条件,这个人对应的数组值就+1,那么当且仅当x[0] == 2的时候才满足需求;
这里可以看出来,按照这样来看,当个人的值为奇数1时,他就只满足一个条件,有了这个思路我们再去看第二个人,他喜欢至少符合一种,也就是只满足一个,或者两个都满足,在这种情况下,如果每个题目还是只+1的话,那么还是1,2都有可能出现,显然,出现奇数1并不方便我们之后的判断,最好是符合要求的都是偶数,故每项+2,保证出现偶数,就是满足条件

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



