考虑到数据规模的问题
Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高精度计算.
其中 BigInteger 类是针对大整数的处理类,而 BigDecimal 类则是针对大小数的处理类.
BigDecimal 类的实现用到了 BigInteger类,不同的是 BigDecimal 加入了小数的概念.
float和Double只能用来做科学计算或者是工程计算;在商业计算中,对数字精度要求较高,必须使用 BigInteger 类和 BigDecimal 类,它支持任何精度的定点数,可以用它来精确计算货币值.
BigDecimal类创建的是对象,不能使用传统的+、-、*、/等算术运算符直接对其进行数学运算,而必须调用其对应的方法.方法的参数也必须是BigDecimal类型的对象.
适合高精度
或者利用长整型long来解决 长度
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
long n;//long长度有19位是2的64次方-1,防止输入的数据超出正常的范围
Scanner in = new Scanner(System.in);
n = in.nextLong();
long res=(n*(n+1))/2;
System.out.println(res);
in .close();
}
}