Problem: HJ6 质数因子
题目描述
描述
输入一个正浮点数值
输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述:
输出该数值的近似整数值
示例1
输入:
5.5输出:6说明:0.5>=0.5,所以5.5需要向上取整为6
解题思路
将num+0.5取整
算法流程
in.next():in是一个Scanner对象,next()方法用于读取用户输入的下一个标记(默认情况下是以空格分隔的字符串)。在这里,我们假设用户输入的是一个浮点数。new BigDecimal(in.next()):将用户输入的字符串转换为BigDecimal对象。BigDecimal类的构造函数可以接受字符串作为参数,用于创建一个表示相应数值的BigDecimal对象。.add(new BigDecimal("0.5")):使用add()方法将前面创建的BigDecimal对象与另一个BigDecimal对象(表示0.5)相加。add()方法返回一个新的BigDecimal对象,表示两个数值相加的结果。
代码
import java.util.Scanner;
import java.math.BigDecimal;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
BigDecimal bigDecimal = new BigDecimal(in.next()).add(new BigDecimal("0.5"));
System.out.println(bigDecimal.longValue());
}
}
复杂度
- 时间复杂度:
添加时间复杂度, 示例:
- 空间复杂度:
添加空间复杂度, 示例: