前幾天,朋友碰到了乙個大數計算的問題,匆忙之下我寫了乙個出來。
**說實話寫的不怎麼好,有點亂,先貼出來,然後過幾天再改好,貼一下。
如計算:9999999999999 * 1234567890123
package test;
public
class bignumber ;
public
static
double d2 = ;
public
static
int calculate(double d1,double d2) else
double result = new
double[ result_num ][ result_length + 1 ];
int temp = 0;
for(int i = result_num - 1 ; i >= 0 ; i-- )
result[ i ][ 0 ] = temp;
temp = 0;
}temp = 0;
int flag = 0;
result_over = new
int[result_num + result_length ];
int line_flag = result_over.length - 1;
for( int m = result[0].length - 1 ; m >=0 ; m-- ) else
flag++;
}result_over[line_flag--] = temp % 10;
temp = temp / 10;
if(m == 0) else
flag++;
}result_over[line_flag--] = temp % 10;
temp = temp / 10;}}
}}return result_over;
}public
static
void main(string args) }}
-----------------------
結果為: 1 2 3 4 5 6 7 8 9 0 1 2 2 8 7 6 5 4 3 2 1 0 9 8 7 7
精度計算 乘法(大數乘大數)
語法 mult char a,char b,char s 引數 a 被乘數,用字串表示,位數不限 b 乘數,用字串表示,位數不限 t 結果,用字串表示 返回值 null 注意 空間複雜度為 o n 2 需要 string.h 源程式 include include using namespace s...
藍橋杯 階乘計算(大數乘法)
基礎練習 階乘計算 時間限制 1.0s 記憶體限制 512.0mb 問題描述 輸入乙個正整數n,輸出n 的值。其中n 1 2 3 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類...
6 大數,高精度計算 大數乘法
大數是演算法語言中的資料型別無法表示的數,其位數超過最大資料型別所能表示的範圍,所以,在處理大數問題時首先要考慮的是怎樣儲存大數,然後是在這種儲存方式下其處理的實現方法。一般情況下大數的儲存是採用字元陣列來儲存,即將大數當作乙個字串來儲存,而對其處理是按其處理規則在陣列中模擬實現。大數乘法,相對之前...