【Algorithm】演算法設計與分析(第二版)- 王紅梅 - JAVA實現:3.3 判斷一個大整數能否被11將該數的十進位制表從右端開始,每兩位一組構成一個整數,然後將這些數相加,判斷其和能否被1整除。

喲米 2000發表於2020-10-05

設計演算法,判斷一個大整數能否被11整除。可以通過以下方法:將該數的十進位制表從右端開始,每兩位一組構成一個整數,然後將這些數相加,判斷其和能否被1整除。例如,將562843748分割成5,62,84,37,48,然後判斷(5+62+84+37+48)能否被11整除 

package thirdChapter;

public class Division11 {
	
	public boolean division11(long num) {
		int r = 0 ;
		String str = new String();
		str = Long.toString(num);
		for(int i = str.length() - 1; i >= 0; i --) {
			int temp = Integer.valueOf(str.charAt(i)).intValue();
			//對奇數位偶數位的計算
			if (i % 2 == 0) {
				r += temp;
			}else {
				r += temp * 10;
			}
		}
		if (r % 11 == 0)
			return true;
		return false;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Division11 div11 = new Division11();
		long num = 234512689;
		System.out.println(div11.division11(num));
		
	}

}

 

相關文章