java大數操作積累

大數相減/加

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		BigInteger a, b;
		Scanner cin = new Scanner(System.in);
		while(cin.hasNext()){
			a = cin.nextBigInteger();
			b = cin.nextBigInteger();
			System.out.println(a.subtract(b));
		}
	}
}

大數階乘

package test;

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner cin = new Scanner(System.in);
		int n = cin.nextInt();
		BigInteger ans = BigInteger.ONE;
		for(int i = 1; i <= n; i++)
			ans = ans.multiply(BigInteger.valueOf(i));
		System.out.println(ans);
	}
}
八進制小數轉化成十進制小數

import java.math.BigDecimal;
import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		String a;
		BigDecimal eight = new BigDecimal(8);
		Scanner cin = new Scanner(System.in);
		while(cin.hasNext()){
			a = cin.nextLine();
			BigDecimal ans = new BigDecimal(0);
			BigDecimal temp = new BigDecimal(1);
			for(int i = 2; i < a.length(); i++){
				temp = temp.divide(eight);
				ans = ans.add(new BigDecimal(a.charAt(i) - '0').multiply(temp));
			}
			System.out.println(a + "[8] = " + ans.stripTrailingZeros().toPlainString() + "[10]");
		}
		
	}
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章