中国人非常喜欢6这个数字,因为大家总爱说66大顺啊。数学狂人李某人喜欢把什么都数字化,于是她把顺利这个词也定义了数量级,6代表1级顺利,66代表2级顺利,666代表3级顺利,以此类推。你看,数学狂人的世界总是让人无法理解。今天,李某人决定将数学进行到底,现在她设前n级顺利的和是sn。
sn=6+66+666+...+66..66(n个6)。
假设你已经知道了数字n,那么,你能帮李某人求出sn么?
输入格式:
输入一个正整数n,n的范围是[0,10)。
输出格式:
输出Sn的值。
输入样例:
2
输出样例:
72
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String s = "";
BigInteger sum = new BigInteger("0");//定义大整数
for (int i = 0; i < n; i++) {
s += "6";
BigInteger a = new BigInteger(s);//字符串转大整数
sum = sum.add(a);
}
System.out.println(sum);
}
}
思路:
1、BigInteger类():操作大整数,大整数都会以字符串的形式传入 。
2、BigInteger类()用法:
BigInteger abs() //返回大整数的绝对值
BigInteger add(BigInteger val) //返回两个大整数的和
BigInteger andNot(BigInteger val) //返回两个大整数与非的结果
BigInteger divide(BigInteger val) //返回两个大整数的商
double doubleValue() //返回大整数的double类型的值
float floatValue() //返回大整数的float类型的值
BigInteger gcd(BigInteger val) //返回大整数的最大公约数
int intValue() //返回大整数的整型值
long longValue() //返回大整数的long型值
BigInteger max(BigInteger val) //返回两个大整数的最大者
BigInteger min(BigInteger val) //返回两个大整数的最小者
BigInteger mod(BigInteger val) //用当前大整数对val求模
BigInteger multiply(BigInteger val) //返回两个大整数的积
BigInteger negate() //返回当前大整数的相反数
BigInteger not() //返回当前大整数的非
BigInteger or(BigInteger val) //返回两个大整数的按位或
BigInteger pow(int exponent) //返回当前大整数的exponent次方
BigInteger remainder(BigInteger val) //返回当前大整数除以val的余数
BigInteger leftShift(int n) //将当前大整数左移n位后返回
BigInteger rightShift(int n) //将当前大整数右移n位后返回
BigInteger subtract(BigInteger val)//返回两个大整数相减的结果
byte[] toByteArray(BigInteger val)//将大整数转换成二进制反码保存在byte数组中
String toString() //将当前大整数转换成十进制的字符串形式
BigInteger xor(BigInteger val) //返回两个大整数的异或