一、题目链接
http://noi.openjudge.cn/ch0104/13/
二、解题思路
2.1 本题Java需用float
类型定义自变量N
;
2.2
[
0
,
20
)
[0,20)
[0,20)范围内的浮点数N
存在三种互斥的可能性如下:
▲ 如果N
小于5
;
▲ 否则如果N
大于等于5
且N
小于10
;
▲ 否则,N
大于等于10
;
根据上述三种互斥的可能性,输出不同的结果。
三、实施步骤
3.1 定义float
类型的变量N
,输入它的数据;
3.2 if N<5
:令N=-N+2.5F
;
else if N<10
:令N=2-1.5F*(N-3)*(N-3)
;
else
:令N=N/2-1.5F
;
3.3 以"%.3f"
格式输出N
。
四、Java程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
float N = input.nextFloat(); // 注意,本题Java需用float类型定义N
if (N < 5) { // 如果0 <= N < 5
N = -N + 2.5F;
}
else if (N < 10) { // 否则如果5 <= N < 10
N = 2 - 1.5F * (N - 3) * (N - 3);
}
else { // 否则,10 <= N < 20
N = N / 2 - 1.5F;
}
System.out.printf("%.3f", N); // 保留3位小数输出结果
}
}
五、备注
5.1 本题Java需用float
类型定义N
,否则只能获得9分。