ACM暑期培訓(xùn)資料課件_第1頁(yè)
ACM暑期培訓(xùn)資料課件_第2頁(yè)
ACM暑期培訓(xùn)資料課件_第3頁(yè)
ACM暑期培訓(xùn)資料課件_第4頁(yè)
ACM暑期培訓(xùn)資料課件_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

高精度運(yùn)算理學(xué)院計(jì)算機(jī)系姚娟高精度運(yùn)算理學(xué)院計(jì)算機(jī)系姚娟1計(jì)算機(jī)能做的和不能做的計(jì)算機(jī)的限制:精度、范圍(:-2^31~2^31-1,即-2147483648~2147483647)計(jì)算機(jī):突破了人的運(yùn)算速度極限對(duì)運(yùn)算的數(shù)據(jù)進(jìn)行了“合理”的假設(shè)要解決假設(shè)之外的事情,它們的數(shù)量不多、但常常極其重大。比如中國(guó)的糧食安全問(wèn)題:13億人口、人均需要多少多少耕地、畝產(chǎn)多少、上年余積多少……計(jì)算機(jī)能做的和不能做的計(jì)算機(jī)的限制:精度、范圍(:-2^32大整數(shù)加法1、鏈接地址

2、問(wèn)題描述求不多于100個(gè)不超過(guò)100位的非負(fù)整數(shù)的之和。輸入數(shù)據(jù)有n行(n<=101),前1行,每行是一個(gè)不超過(guò)100位的非負(fù)整數(shù),最后一行0表示輸入結(jié)束。輸出數(shù)據(jù)1行,即相加后的結(jié)果。結(jié)果里不能有多余的前導(dǎo)0,即如果結(jié)果是342,那么就不能輸出為0342。大整數(shù)加法1、鏈接地址3輸入樣例1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678900輸出樣例370370367037037036703703703670輸入樣例4大整數(shù)加法(1503)解題思路用字符型或整型數(shù)組來(lái)存放大整數(shù)[0]存放個(gè)位數(shù),[1]存放十位數(shù),[2]存放百位數(shù)……模擬小學(xué)生列豎式做加法,從個(gè)位開(kāi)始逐位相加,超過(guò)或達(dá)到10則進(jìn)位。1[101]保存第一個(gè)數(shù),用2[100]表示第二個(gè)數(shù),然后逐位相加,相加的結(jié)果直接存放在1中。要注意處理進(jìn)位。為什么?1數(shù)組長(zhǎng)度定為101數(shù)組定義稍微大點(diǎn)例如:189+23運(yùn)算過(guò)程那么從左到右189981+023320+212212從左到右計(jì)算的好處:最高位加法進(jìn)位時(shí),只需往后面加1位;假如依舊從右到左進(jìn)行加法,那么最后需要進(jìn)位是需要把后面的數(shù)字都往后移一位,比較難以復(fù)雜和掌握。大整數(shù)加法(1503)解題思路用字符型或整型數(shù)組來(lái)存放大51503參考程序(1[]2[]12){ (*); 0; 1>212; (1<1)1[i]=0; 缺位前導(dǎo)補(bǔ)0 (2<1)2[i]=0; (0<) 1[i]1[i]2[i]; 1(1);}1503參考程序(1[]2[]12)61503參考程序歸整(*n){ 0; (a[1]0>1) 去掉前導(dǎo)數(shù)字0,確定數(shù)組當(dāng)前長(zhǎng)度 ; (0<) { (a[k]>=10) { a[1][1][k]/10; 對(duì)數(shù)值超過(guò)9的位進(jìn)行歸整處理 a[k][k]%10; } } (a[k]0)1; 確定數(shù)組的最終長(zhǎng)度 ;}1503參考程序歸整71503參考程序(){ [10]; 1[10]2[10]; 00; 12; 1[0]=0; 1=1; (1) { >>; ([0]'0'); 2(); (2-10>=0;) 2[]=[i]-'0'; (1212); } (1-1>=0) <<1[i]; 0;}1503參考程序()8大整數(shù)乘法1、鏈接地址

2、問(wèn)題描述求兩個(gè)不超過(guò)200位的非負(fù)整數(shù)的積。輸入數(shù)據(jù)有兩行,每行是一個(gè)不超過(guò)200位的非負(fù)整數(shù),沒(méi)有多余的前導(dǎo)0。輸出要求一行,即相乘后的結(jié)果。結(jié)果里不能有多余的前導(dǎo)0,即如果結(jié)果是342,那么就不能輸出為0342。大整數(shù)乘法1、鏈接地址9輸入樣例 12345678900 98765432100輸出樣例1219326311126352690000輸入樣例10大整數(shù)乘法(2389)解題思路在程序中,用1[200]和2[200]分別存放兩個(gè)乘數(shù),用[400]來(lái)存放積。計(jì)算的中間結(jié)果也都存在中。長(zhǎng)度取400是因?yàn)閮蓚€(gè)200位的數(shù)相乘,積最多會(huì)有400位。1[0],2[0],[0]都表示個(gè)位。計(jì)算的過(guò)程基本上和小學(xué)生列豎式做乘法相同。為編程方便,并不急于處理進(jìn)位,而將進(jìn)位問(wèn)題留待最后統(tǒng)一處理。現(xiàn)以835×49為例來(lái)說(shuō)明程序的計(jì)算過(guò)程。大整數(shù)乘法(2389)解題思路在程序中,用1[200]11先算835×9。5×9得到45個(gè)1,3×9得到27個(gè)10,8×9得到72個(gè)100。由于不急于處理進(jìn)位,所以835×9算完后,結(jié)果如下:大整數(shù)乘法(2389)解題思路接下來(lái)算4×5。此處4×5的結(jié)果代表20個(gè)10,因此要c[1]20,變?yōu)椋涸傧聛?lái)算4×3。此處4×3的結(jié)果代表12個(gè)100,因此要c[2]12,變?yōu)椋合人?35×9。5×9得到45個(gè)1,3×9得到27個(gè)12大整數(shù)乘法(2389)解題思路最后算4×8。此處4×8的結(jié)果代表32個(gè)1000,因此要c[3]32,變?yōu)椋撼朔ㄟ^(guò)程完畢。接下來(lái)從c[0]開(kāi)始向高位逐位處理進(jìn)位問(wèn)題。c[0]留下5,把4加到c[1]上,c[1]變?yōu)?1后,應(yīng)留下1,把5加到c[2]上……最終使得c里的每個(gè)元素都是1位數(shù),結(jié)果就算出來(lái)了:規(guī)律:一個(gè)數(shù)的第i位和另一個(gè)數(shù)的第j位相乘所得的數(shù),一定是要累加到結(jié)果的第位上。這里i,j都是從右往左,從0開(kāi)始數(shù)。大整數(shù)乘法(2389)解題思路最后算4×8。此處4×8132389參考程序<><>;200+10;a[][];c[2*];12;;字符串s轉(zhuǎn)換為整型數(shù)組t(*t){ ; (); (0<) t[m][1]-'0';}2389參考程序<>142389參考程序乘法:輸入用字符串表示的長(zhǎng)整數(shù)m1、m2返回一個(gè)表示兩個(gè)數(shù)乘積長(zhǎng)度的指針,及表示乘積的一個(gè)整型數(shù)組c(*m1*m2*){ ; (0<) 用第二個(gè)數(shù)乘以第一個(gè)數(shù),每次一位 (0<) c[][][i]*b[j]; 先乘起來(lái),后面統(tǒng)一進(jìn)位 (0<*2-1) 循環(huán)統(tǒng)一處理進(jìn)位問(wèn)題 (c[i]>=10) { c[1][1][i]/10; c[i][i]%10; } 2*1; (c[i]0i>0)1; 跳過(guò)高位的0 *; }2389參考程序乘法:輸入用字符串表示的長(zhǎng)整數(shù)m1、m2152389參考程序(){ ; (>>1>>2) { (0<) { a[i]=0; b[i]=0; } (1); (2); (0<2*)c[i]=0; (); (>=0) <<c[j]; <<; } 0;}2389參考程序()16大整數(shù)除法1、鏈接地址

2、問(wèn)題描述求兩個(gè)大的正整數(shù)相除的商輸入數(shù)據(jù)第1行是測(cè)試數(shù)據(jù)的組數(shù)n,每組測(cè)試數(shù)據(jù)占2行,第1行是被除數(shù),第2行是除數(shù)。每組測(cè)試數(shù)據(jù)之間有一個(gè)空行,每行數(shù)據(jù)不超過(guò)100個(gè)字符輸出要求n行,每組測(cè)試數(shù)據(jù)有一行輸出是相應(yīng)的整數(shù)商大整數(shù)除法1、鏈接地址17問(wèn)題描述輸入樣例324053373129633733590092604577420574392304964939303555957976607910827396462987192585318701752584429931160870372907079248971095012509790550883793197894100000000000000000000000000000000000000001000000000054096567750978508956870567980689709345465465756767686784354353451輸出樣例010000000000000000000000000000005409656775097850895687056798068970934546546575676768678435435345問(wèn)題描述輸入樣例18基本的思想是反復(fù)做減法,看看從被除數(shù)里最多能減去多少個(gè)除數(shù),商就是多少。一個(gè)一個(gè)減顯然太慢,如何減得更快一些呢?以7546除以23為例來(lái)看一下:開(kāi)始商為0。先減去23的100倍,就是2300,發(fā)現(xiàn)夠減3次,余下646。于是商的值就增加300。然后用646減去230,發(fā)現(xiàn)夠減2次,余下186,于是商的值增加20。最后用186減去23,夠減8次,因此最終商就是328。所以本題的核心是要寫(xiě)一個(gè)大整數(shù)的減法函數(shù),然后反復(fù)調(diào)用該函數(shù)進(jìn)行減法操作。計(jì)算除數(shù)的10倍、100倍的時(shí)候,不用做乘法,直接在除數(shù)后面補(bǔ)0即可。解題思路基本的思想是反復(fù)做減法,看看從被除數(shù)里最多能減去多少個(gè)除數(shù)19參考程序<><>2001[+10];2[+10];1[+10];被除數(shù),1[0]對(duì)應(yīng)于個(gè)位2[+10];除數(shù),2[0]對(duì)應(yīng)于個(gè)位[+10];存放商,[0]對(duì)應(yīng)于個(gè)位長(zhǎng)度為1的大整數(shù)p1減去長(zhǎng)度為2的大整數(shù)p2結(jié)果放在p1里,返回值代表結(jié)果的長(zhǎng)度如不夠減返回-1,正好減完返回0(*p1,*p2,1,2){i;(1<2)-1;參考程序<>204、參考程序下面判斷p1是否比p2大,如果不是,返回-1(12){(i=1-1;i>=0;i){(p1[i]>p2[i]);1>p2(p1[i]<p2[i])-1;1<p2}}(i=0;i<1;i){要求調(diào)用本函數(shù)確保當(dāng)i>2時(shí),p2[i]=0p1[i]p2[i];(p1[i]<0){p1[i]10;p1[1];}}(i=1-1;i>=0;)(p1[i])找到最高位第一個(gè)不為0i+1;0全部為0,說(shuō)明兩者相等}4、參考程序下面判斷p1是否比p2大,如果不是,返回-21參考程序(){t,n;>>n;(t=0;t<n;t){>>1;>>2;i,j;1=(1);(1,0,(1));(2,0,(2));(,0,());(j=0,i=1-1>=0;i)1[]=1[i]-'0';2=(2);(j=0,i=2-1>=0;i)2[]=2[i]-'0';(1<2){<<"0\n";;}參考程序()22參考程序=1-2;(>0){(i=1-1;i>=;i)2[i]=2[]朝高位移動(dòng)(;i>=0;)低位補(bǔ)02[i]=0;2=1;}(j=0;j<=;j){;一直減到不夠減為止先減去若干個(gè)2×(10的次方),不夠減了,再減去若干個(gè)2×(10的1次方),......((=(1,2,1,2))>=0){1=;[];每成功減一次,則將商的相應(yīng)位加1}}參考程序=1-2;23參考程序下面輸出結(jié)果,先跳過(guò)高位0(i=;(i>=0)([i]0);i);(i>=0)(;i>=0;)<<[i];

<<"0";<<;}0;}參考程序下面輸出結(jié)果,先跳過(guò)高位024課堂練習(xí)-八進(jìn)制小數(shù)鏈接:描述八進(jìn)制小數(shù)可以用十進(jìn)制小數(shù)精確的表示。比如,八進(jìn)制里面的0.75等于十進(jìn)制里面的0.963125(7/8+5/64)。所有小數(shù)點(diǎn)后位數(shù)為n的八進(jìn)制小數(shù)都可以表示成小數(shù)點(diǎn)后位數(shù)不多于3n的十進(jìn)制小數(shù)。

你的任務(wù)是寫(xiě)一個(gè)程序,把(0,1)中的八進(jìn)制小數(shù)轉(zhuǎn)化成十進(jìn)制小數(shù)。輸入輸入包括若干八進(jìn)制小數(shù),每個(gè)小數(shù)占用一行。每個(gè)小數(shù)的形式是01d2d3...,這里是八進(jìn)制數(shù)0...7,而且已知0<k<15。輸出對(duì)于每個(gè)輸入的八進(jìn)制小數(shù),輸入如下形式的一行

01d2d3...[8]=01D2D3...[10]這里左邊是輸入的八進(jìn)制小數(shù),右邊是相等的十進(jìn)制小數(shù)。輸出的小數(shù)末尾不能有0,也就是說(shuō)不等于0。課堂練習(xí)-八進(jìn)制小數(shù)鏈接:25課堂練習(xí)-八進(jìn)制小數(shù)樣例輸入0.750.00010.01234567樣例輸出0.75[8]=0.953125[10]0.0001[8]=0.000244140625[10]0.01234567[8]=0.020408093929290771484375[10]提示如果你使用字符串讀取八進(jìn)制小數(shù),你可以使用如下的形式中止輸入

[100];

(>>){

...

}課堂練習(xí)-八進(jìn)制小數(shù)樣例輸入26暑期練習(xí)1001難度一般英文鏈接中文鏈接2413英文鏈接題意是給出兩個(gè)長(zhǎng)整數(shù)a和b(可達(dá)100位),求a和b之間斐波那契數(shù)的個(gè)數(shù)。其中:f(1)=1;f(2)=2(n)(1)(2);

斐波數(shù)列從1開(kāi)始算法:這題就是求斐波那契數(shù)列,然后在一定范圍內(nèi)查找斐波那契數(shù)的個(gè)數(shù)。但由于范圍可達(dá)100位,c或的長(zhǎng)整型是不夠用的。只能用長(zhǎng)整數(shù)加法來(lái)求斐波那契數(shù)列了。暑期練習(xí)1001難度一般27DayDayUp~Thankyou~DayDayUp~Thankyou~28演講完畢,謝謝觀(guān)看!演講完畢,謝謝觀(guān)看!29高精度運(yùn)算理學(xué)院計(jì)算機(jī)系姚娟高精度運(yùn)算理學(xué)院計(jì)算機(jī)系姚娟30計(jì)算機(jī)能做的和不能做的計(jì)算機(jī)的限制:精度、范圍(:-2^31~2^31-1,即-2147483648~2147483647)計(jì)算機(jī):突破了人的運(yùn)算速度極限對(duì)運(yùn)算的數(shù)據(jù)進(jìn)行了“合理”的假設(shè)要解決假設(shè)之外的事情,它們的數(shù)量不多、但常常極其重大。比如中國(guó)的糧食安全問(wèn)題:13億人口、人均需要多少多少耕地、畝產(chǎn)多少、上年余積多少……計(jì)算機(jī)能做的和不能做的計(jì)算機(jī)的限制:精度、范圍(:-2^331大整數(shù)加法1、鏈接地址

2、問(wèn)題描述求不多于100個(gè)不超過(guò)100位的非負(fù)整數(shù)的之和。輸入數(shù)據(jù)有n行(n<=101),前1行,每行是一個(gè)不超過(guò)100位的非負(fù)整數(shù),最后一行0表示輸入結(jié)束。輸出數(shù)據(jù)1行,即相加后的結(jié)果。結(jié)果里不能有多余的前導(dǎo)0,即如果結(jié)果是342,那么就不能輸出為0342。大整數(shù)加法1、鏈接地址32輸入樣例1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678900輸出樣例370370367037037036703703703670輸入樣例33大整數(shù)加法(1503)解題思路用字符型或整型數(shù)組來(lái)存放大整數(shù)[0]存放個(gè)位數(shù),[1]存放十位數(shù),[2]存放百位數(shù)……模擬小學(xué)生列豎式做加法,從個(gè)位開(kāi)始逐位相加,超過(guò)或達(dá)到10則進(jìn)位。1[101]保存第一個(gè)數(shù),用2[100]表示第二個(gè)數(shù),然后逐位相加,相加的結(jié)果直接存放在1中。要注意處理進(jìn)位。為什么?1數(shù)組長(zhǎng)度定為101數(shù)組定義稍微大點(diǎn)例如:189+23運(yùn)算過(guò)程那么從左到右189981+023320+212212從左到右計(jì)算的好處:最高位加法進(jìn)位時(shí),只需往后面加1位;假如依舊從右到左進(jìn)行加法,那么最后需要進(jìn)位是需要把后面的數(shù)字都往后移一位,比較難以復(fù)雜和掌握。大整數(shù)加法(1503)解題思路用字符型或整型數(shù)組來(lái)存放大341503參考程序(1[]2[]12){ (*); 0; 1>212; (1<1)1[i]=0; 缺位前導(dǎo)補(bǔ)0 (2<1)2[i]=0; (0<) 1[i]1[i]2[i]; 1(1);}1503參考程序(1[]2[]12)351503參考程序歸整(*n){ 0; (a[1]0>1) 去掉前導(dǎo)數(shù)字0,確定數(shù)組當(dāng)前長(zhǎng)度 ; (0<) { (a[k]>=10) { a[1][1][k]/10; 對(duì)數(shù)值超過(guò)9的位進(jìn)行歸整處理 a[k][k]%10; } } (a[k]0)1; 確定數(shù)組的最終長(zhǎng)度 ;}1503參考程序歸整361503參考程序(){ [10]; 1[10]2[10]; 00; 12; 1[0]=0; 1=1; (1) { >>; ([0]'0'); 2(); (2-10>=0;) 2[]=[i]-'0'; (1212); } (1-1>=0) <<1[i]; 0;}1503參考程序()37大整數(shù)乘法1、鏈接地址

2、問(wèn)題描述求兩個(gè)不超過(guò)200位的非負(fù)整數(shù)的積。輸入數(shù)據(jù)有兩行,每行是一個(gè)不超過(guò)200位的非負(fù)整數(shù),沒(méi)有多余的前導(dǎo)0。輸出要求一行,即相乘后的結(jié)果。結(jié)果里不能有多余的前導(dǎo)0,即如果結(jié)果是342,那么就不能輸出為0342。大整數(shù)乘法1、鏈接地址38輸入樣例 12345678900 98765432100輸出樣例1219326311126352690000輸入樣例39大整數(shù)乘法(2389)解題思路在程序中,用1[200]和2[200]分別存放兩個(gè)乘數(shù),用[400]來(lái)存放積。計(jì)算的中間結(jié)果也都存在中。長(zhǎng)度取400是因?yàn)閮蓚€(gè)200位的數(shù)相乘,積最多會(huì)有400位。1[0],2[0],[0]都表示個(gè)位。計(jì)算的過(guò)程基本上和小學(xué)生列豎式做乘法相同。為編程方便,并不急于處理進(jìn)位,而將進(jìn)位問(wèn)題留待最后統(tǒng)一處理?,F(xiàn)以835×49為例來(lái)說(shuō)明程序的計(jì)算過(guò)程。大整數(shù)乘法(2389)解題思路在程序中,用1[200]40先算835×9。5×9得到45個(gè)1,3×9得到27個(gè)10,8×9得到72個(gè)100。由于不急于處理進(jìn)位,所以835×9算完后,結(jié)果如下:大整數(shù)乘法(2389)解題思路接下來(lái)算4×5。此處4×5的結(jié)果代表20個(gè)10,因此要c[1]20,變?yōu)椋涸傧聛?lái)算4×3。此處4×3的結(jié)果代表12個(gè)100,因此要c[2]12,變?yōu)椋合人?35×9。5×9得到45個(gè)1,3×9得到27個(gè)41大整數(shù)乘法(2389)解題思路最后算4×8。此處4×8的結(jié)果代表32個(gè)1000,因此要c[3]32,變?yōu)椋撼朔ㄟ^(guò)程完畢。接下來(lái)從c[0]開(kāi)始向高位逐位處理進(jìn)位問(wèn)題。c[0]留下5,把4加到c[1]上,c[1]變?yōu)?1后,應(yīng)留下1,把5加到c[2]上……最終使得c里的每個(gè)元素都是1位數(shù),結(jié)果就算出來(lái)了:規(guī)律:一個(gè)數(shù)的第i位和另一個(gè)數(shù)的第j位相乘所得的數(shù),一定是要累加到結(jié)果的第位上。這里i,j都是從右往左,從0開(kāi)始數(shù)。大整數(shù)乘法(2389)解題思路最后算4×8。此處4×8422389參考程序<><>;200+10;a[][];c[2*];12;;字符串s轉(zhuǎn)換為整型數(shù)組t(*t){ ; (); (0<) t[m][1]-'0';}2389參考程序<>432389參考程序乘法:輸入用字符串表示的長(zhǎng)整數(shù)m1、m2返回一個(gè)表示兩個(gè)數(shù)乘積長(zhǎng)度的指針,及表示乘積的一個(gè)整型數(shù)組c(*m1*m2*){ ; (0<) 用第二個(gè)數(shù)乘以第一個(gè)數(shù),每次一位 (0<) c[][][i]*b[j]; 先乘起來(lái),后面統(tǒng)一進(jìn)位 (0<*2-1) 循環(huán)統(tǒng)一處理進(jìn)位問(wèn)題 (c[i]>=10) { c[1][1][i]/10; c[i][i]%10; } 2*1; (c[i]0i>0)1; 跳過(guò)高位的0 *; }2389參考程序乘法:輸入用字符串表示的長(zhǎng)整數(shù)m1、m2442389參考程序(){ ; (>>1>>2) { (0<) { a[i]=0; b[i]=0; } (1); (2); (0<2*)c[i]=0; (); (>=0) <<c[j]; <<; } 0;}2389參考程序()45大整數(shù)除法1、鏈接地址

2、問(wèn)題描述求兩個(gè)大的正整數(shù)相除的商輸入數(shù)據(jù)第1行是測(cè)試數(shù)據(jù)的組數(shù)n,每組測(cè)試數(shù)據(jù)占2行,第1行是被除數(shù),第2行是除數(shù)。每組測(cè)試數(shù)據(jù)之間有一個(gè)空行,每行數(shù)據(jù)不超過(guò)100個(gè)字符輸出要求n行,每組測(cè)試數(shù)據(jù)有一行輸出是相應(yīng)的整數(shù)商大整數(shù)除法1、鏈接地址46問(wèn)題描述輸入樣例324053373129633733590092604577420574392304964939303555957976607910827396462987192585318701752584429931160870372907079248971095012509790550883793197894100000000000000000000000000000000000000001000000000054096567750978508956870567980689709345465465756767686784354353451輸出樣例010000000000000000000000000000005409656775097850895687056798068970934546546575676768678435435345問(wèn)題描述輸入樣例47基本的思想是反復(fù)做減法,看看從被除數(shù)里最多能減去多少個(gè)除數(shù),商就是多少。一個(gè)一個(gè)減顯然太慢,如何減得更快一些呢?以7546除以23為例來(lái)看一下:開(kāi)始商為0。先減去23的100倍,就是2300,發(fā)現(xiàn)夠減3次,余下646。于是商的值就增加300。然后用646減去230,發(fā)現(xiàn)夠減2次,余下186,于是商的值增加20。最后用186減去23,夠減8次,因此最終商就是328。所以本題的核心是要寫(xiě)一個(gè)大整數(shù)的減法函數(shù),然后反復(fù)調(diào)用該函數(shù)進(jìn)行減法操作。計(jì)算除數(shù)的10倍、100倍的時(shí)候,不用做乘法,直接在除數(shù)后面補(bǔ)0即可。解題思路基本的思想是反復(fù)做減法,看看從被除數(shù)里最多能減去多少個(gè)除數(shù)48參考程序<><>2001[+10];2[+10];1[+10];被除數(shù),1[0]對(duì)應(yīng)于個(gè)位2[+10];除數(shù),2[0]對(duì)應(yīng)于個(gè)位[+10];存放商,[0]對(duì)應(yīng)于個(gè)位長(zhǎng)度為1的大整數(shù)p1減去長(zhǎng)度為2的大整數(shù)p2結(jié)果放在p1里,返回值代表結(jié)果的長(zhǎng)度如不夠減返回-1,正好減完返回0(*p1,*p2,1,2){i;(1<2)-1;參考程序<>494、參考程序下面判斷p1是否比p2大,如果不是,返回-1(12){(i=1-1;i>=0;i){(p1[i]>p2[i]);1>p2(p1[i]<p2[i])-1;1<p2}}(i=0;i<1;i){要求調(diào)用本函數(shù)確保當(dāng)i>2時(shí),p2[i]=0p1[i]p2[i];(p1[i]<0){p1[i]10;p1[1];}}(i=1-1;i>=0;)(p1[i])找到最高位第一個(gè)不為0i+1;0全部為0,說(shuō)明兩者相等}4、參考程序下面判斷p1是否比p2大,如果不是,返回-50參考程序(){t,n;>>n;(t=0;t<n;t){>>1;>>2;i,j;1=(1);(1,0,(1));(2,0,(2));(,0,());(j=0,i=1-1>=0;i)1[]=1[i]-'0';2=(2);(j=0,i=2-1>=0;i)2[]=2[i]-'0';(1<2){<<"0\n";;}參考程序()51參考程序=1-2;(>0){(i=1-1;i>=;i)2[i]=2[]朝高位移動(dòng)(;i>=0;)低位補(bǔ)02[i]=0;2=1;}(j=0;j<=;j){;一直減到不夠減為止

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論