加法
void add(char a,char b,charview coded) }
for(i=len;i>1;i--)
if(c[i]==48
) len--;
else
break
;
for(i=0;i<=len;i++)
d[i]=c[len-i];
}
減法1 //d2 > d1,如果需要比較大小自己加乙個不麻煩。
void dec(char *d1, char *d2, char *outview code)
while(len_max > 0
)
if(last_j)
out[0] ='1'
;
else
out[0] ='0'
;}
乘法
void multiply(char* a,char* b,char*c)view code}i=0
;
while(s[i]==0) //
跳過頭部0元素
i++;
if(i==ca+cb) //
s[i]全為0
i--;
for (j=0;i)
c[j]=s[i]+'0'
; c[j]='\0'
; free(s);
}
/*高精度除低精度求商模板*/
/*大數除法 ------除數為int範圍*/
#include#includeview code#include
#define max 1000#include
#define n 1000
using
namespace
std;
void division(char * src,int
n)
else
//不夠除,修改餘數
}int j=0
;
while(dest[j]=='0'
) j++;
if(j==k)
j--;
for(i=j;i)
cout
<
cout
<
}int
main()
return0;
}
/*大數除法---高精度除高精度*/
/*1.a.size
#include#includeview code#include
#define n 2000
using
namespace
std;
//判斷a.size 與b.size 的關係 以及做減法
int judge(char a,int a1,char b,int
b1) }
for(i=0;i//
前提b中b1---a1部分必須為'0'
}for(i=a1-1;i>=0;i--) //
返回被除數的長度
if(a[i]!='0'
)
return (i+1
);
return
0;//
a.size==b.size&&a=b的情況
}string division(string a,string
b) b_len=temp_len;
/********************************************
*//*
加快除法的部分
*//*
******************************************
*/for(j=0;j<=ntimes;j++)
}/********************************************
*//*
處理最後結果進製部分
*//*
*******************************************
*/for(i=0;i)
if(ans[i]>=10
)
/********************************************
*//*
返回string型別
*//*
*******************************************
*/int k=n-1
;
string c=""
;
while(ans[k]==0&&k>0
) k--;
for(i=k;i>=0;i--)
c+=(ans[i]+'0'
);
/********************************************
*/returnc;}
intmain()
return0;
}
大數運算 加減乘除
大數運算產生的原因就是因為int,double型別表示範圍都有限,無法表示過長的數字比如 2345468454567865415467864453437。因此也就無法進行四則運算,為了實現這種運算,大數運算產生了。其實也很簡單,既然基本資料型別放不下這些資料,那就用陣列存放唄。定義char c 10...
大數運算 (加減乘除)
大數加減乘除應該都不陌生了吧,原來只寫過大數加法,弱弱的我重溫了一下這種,發現還是蠻有意思的。不知道有沒有感覺到,解決這類問題進製思路都挺簡單的,主要錯的地方就是最後細節的處理,前導0的去除,型別轉換等之類的問題。都是按整數輸入資料 沒有考慮小數點之類的輸入和負數的情況。大數加法 hdu1002 l...
大數運算之加減乘除
我們都知道計算機能夠儲存的各種型別數的大小是有限的,比如int型在32位的情況下範圍是從 2 31 2 31 1,那麼如果我們要計算的數非常的大,我們該如何做呢?那樣便需要運用到大數運算。大數運算本質上來說是模仿人們進行筆算時的操作,將人們筆算時的操作通過 來實現,從而達到實現大數執行的結果。c 如...