1)问题描述
就是整数太大了,超出了计算机能够按传统计算方式计算的范围。
2)基本思路
就是递归地将大整数分为俩个小整数,然后分解到只剩下一位数的时候再按传统方式计算。
3)代码实现
package laoya;
import java.lang.Math;
import java.util.Arrays;
import java.util.Scanner;
public class test {
//————————————————————————————————————————————————————————————
public static int sign(int x) {
//存储符号位
if(x>0) {
return 1;
}
else if(x<0) {
return -1;
}
else {
return 0;
}
}
public static int divideConquer(int a,int b,int n){
//主要算的地方(递归)
int s = sign(a)*sign(b);
int x =Math.abs(a);
int y =Math.abs(b);
if(x==0 || y==0) {
return 0;
}
else if(n==1) {
return s*x*y;
}
else