设计算法,判断一个大整数能否被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));
}
}