一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。

简介: 一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。

f09e1a5239e14268991e041c9c51f82f.png

import java.math.BigInteger;
import java.util.Scanner;
import static java.math.BigInteger.*;
public class Main{
    public static void main(String[] args){
        int i, num[] = {1, 2, 6, 30, 210, 2310, 30030, 510510, 9699690, 223092870}, toDec;
        BigInteger out= new BigInteger("0"), temp= new BigInteger("0");
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        for(i=str.length()-1; i>=0; i--){
            toDec = num[str.length() - 1 - i];
            if(str.charAt(i)>47 && str.charAt(i)<58){
                temp = BigInteger.valueOf(str.charAt(i)-48);
                out = out.add(temp.multiply(BigInteger.valueOf(toDec)));
            }else{
                temp = valueOf(str.charAt(i)-87);
                out = out.add(temp.multiply(BigInteger.valueOf(toDec)));
            }
        }
        System.out.println(out);
    }
}
相关文章
|
8月前
进制介绍
进制介绍
47 3
|
9月前
进制的详细介绍
进制的详细介绍
102 2
|
9月前
进制介绍详解
进制介绍详解
46 1
|
1月前
进制转换(m 进制 x 转换为 n 进制的数)
进制转换(m 进制 x 转换为 n 进制的数)
|
1月前
|
存储
leetcode:504. 七进制数
leetcode:504. 七进制数
20 0
|
1月前
打印2进制位数的奇数位和偶数位
打印2进制位数的奇数位和偶数位
|
12月前
|
C语言
整数和浮点数的任意进制转!!(包括16进制)确定不进来看看?!
整数和浮点数的任意进制转!!(包括16进制)确定不进来看看?!
113 0
求整数的位数及各位数字之和
求整数的位数及各位数字之和
84 0
十进制转换为2进制
十进制转换为2进制
70 0
十进制转换为2进制
十进制与二进制转换(负数+正数)
十进制与二进制转换(负数+正数)
262 0
十进制与二进制转换(负数+正数)

热门文章

最新文章