版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1完善程序及算法分析算法復(fù)習(xí)完善程序解題辦法應(yīng)用舉例第1頁第1頁2完善程序題解題辦法一、完善程序題解題環(huán)節(jié):1、仔細(xì)閱讀文字解釋,理解題意和提供解題思緒2、依據(jù)問題求解要求,理解輸入、輸出內(nèi)容和問題處理辦法3、先閱讀主程序,理解輸出變量和輸出要求以及主程序中需要調(diào)用過程或函數(shù)是哪些。4、閱讀過程或函數(shù),理解其完畢功效5、填空辦法:普通從主程序最后輸出要求,反推主程序中變量填寫或表示式、語句等書寫第2頁第2頁36、依據(jù)主程序參數(shù)與子程序參數(shù)傳遞關(guān)系,填寫子程序變量,依據(jù)子程序需要完畢功效,完畢子程序填空7、填寫完畢,再將程序整個(gè)閱讀、執(zhí)行一遍,看能否完畢問題提出要求。二、例題解答:
1.(坐標(biāo)統(tǒng)計(jì))輸入n個(gè)整點(diǎn)在平面上坐標(biāo)。對于每個(gè)點(diǎn),能夠控制所有位于它左下方點(diǎn)(即x、y坐標(biāo)都比它?。軌蚩刂泣c(diǎn)數(shù)目稱為“戰(zhàn)斗力”。依次輸出每個(gè)點(diǎn)戰(zhàn)斗力,最后輸出戰(zhàn)斗力最高點(diǎn)編號(hào)(假如若干個(gè)點(diǎn)戰(zhàn)斗力并列最高,輸出其中最大編號(hào))。讀題,
第3頁第3頁4ConstSIZE=100;
VarX,y,f:array[1..SIZE]ofinteger;
N,i,j,max_f,ans:integer;
Beginreadln(n);
Fori:=1tondoReadln(x[i],y[i]]);
Max_f:=0;
Fori:=1tondo
Beginf[i]:=
①
;
Forj:=1tondo
Beginif(x[j]<x[i])and(
②
)then
③
;
End;第4頁第4頁5If
④
then
Beginmax_f:=f[i];
⑤
;
End;End;
Fori:=1tondo
Writeln(f[i]);Writeln(ans);End.
(1)0
(2)y[j]<y[i]
(3)f[i]:=f[i]+1;
(4)f[i]>=max_f;
(5)ans:=i第5頁第5頁62.(排列數(shù))輸入兩個(gè)正整數(shù)n,m(1<n<20,1<m<n),在1~n中任取m個(gè)數(shù),按字典序從小到大輸出所有這樣排列。比如:輸入:32(算法未必是老式)
輸出:12
13
21
23
31
32
constSIZE=25;
varused:array[1..SIZE]ofboolean;
data:array[1..SIZE]orinteger;
n,m,i,j,k:integer;flag:boolean;第6頁第6頁7Beginreadln(n,m);
fillchar(used,sizeof(used),false);{只能置0、True}
fori:=1tomdo
begindata[i]:=i;used[i]:=true;
end;
flag:=true;
Whileflagdo
beginfori:=1tom-1dowrite(data[i],’‘);
writeln(data[m]);{第一次最小}第7頁第7頁8flag:=
①
;
fori:=mdownto1do
begin
②
;
forj:=data[i]+1tondoifused[j]=falsethen
beginused[j]:=true;
data[i]:=
③
;
flag:=true;
Break;
end;第8頁第8頁9ifflagthen
beginfork:=i+1tomdo
forj:=1to
④
doifused[j]=falsethen
begindata[k]:=j;
used[j]:=true;
Break;
end;
⑤
;
end;
end;
end;end.(1)false
(2)used[data[i]]:=flase
(3)j
(4)n
(5)break第9頁第9頁10
3.笛卡爾樹對于一個(gè)給定兩兩不等正整數(shù)序列,笛卡爾樹是這樣一棵二叉樹:首先,它是一個(gè)最小堆,即除了根結(jié)點(diǎn)外,每個(gè)結(jié)點(diǎn)權(quán)值都不小于父節(jié)點(diǎn)權(quán)值;另一方面,它中序遍歷正好就是給定序列。比如,對于序列7、2、12、1、10、5、15、3,下圖就是一棵相應(yīng)笛卡爾樹。現(xiàn)輸入序列規(guī)模n(1≤n<100)和序列n個(gè)元素,試求其相應(yīng)笛卡爾樹深度d(根節(jié)點(diǎn)深度為1),以及有多少個(gè)葉節(jié)點(diǎn)深度為d。第10頁第10頁11ConstSIZE=100;INFINITY=1000000;varn,maxDeep,num,i:integer;a:array[1..SIZE]ofinteger;Proceduresolve(left,right,deep:integer);vari,j,min:integer;beginifdeep>maxDeepthenbeginmaxDeep:=deep;num:=1;endelseifdeep=maxDeepthen
第11頁第11頁12
①
;min:=INFINITY;Fori:=lefttorightdoifmin>a[i]thenbeginmin:=a[i];
②
;end;ifleft<jthen
③
;ifj<rightthen①inc(num)(或num:=num+1)②j:=i③solve(left,j-1,deep+1)第12頁第12頁13
④
;end;beginreadln(n);fori:=1tondoread(a[i]);maxDeep:=0;solve(1,n,1);writeln(maxDeep,'',num);end.④solve(j+1,right,deep+1)第13頁第13頁14
4.將2n個(gè)0和2n個(gè)1,排成一圈。從任一個(gè)位置開始,每次按逆時(shí)針方向以長度為n+1數(shù)二進(jìn)制數(shù)。要求給出一個(gè)排法,用上面辦法產(chǎn)生出來2n+1個(gè)二進(jìn)制數(shù)都不相同。當(dāng)n=2時(shí),即有22個(gè)0和22個(gè)1排列如右下:第14頁第14頁15比如,從A位置開始,逆時(shí)針方向取三個(gè)數(shù)000,然后再從B位置上開始取三個(gè)數(shù)001,接著取010……能夠得到000,001,010,101,011,111,110共8個(gè)二進(jìn)制數(shù),并且都不相同。程序闡明:以N=4為例,即有16個(gè)0、16個(gè)1,數(shù)組A用以統(tǒng)計(jì)32個(gè)0、1排法,數(shù)組B統(tǒng)計(jì)二進(jìn)制數(shù)是否已出現(xiàn)過。本題利用二進(jìn)制加法運(yùn)算原理。A數(shù)組存儲(chǔ)每位二進(jìn)制數(shù),B數(shù)組用于判斷所產(chǎn)生數(shù)是否重復(fù)為了減少循環(huán)次數(shù),程序中將最后五位置1,前面五位置0第15頁第15頁16PROGRAMNO100;VARA:ARRAY[1..36]OF0..1;B:ARRAY[0..31]OFINTEGER;I,J,K,S,P:INTEGER;BEGINFORI:=1TO36DOA[I]:=0;FORI:=28TO32DOA[I]:=1;P:=1;A[6]:=1;WHILE(P=1)DOBEGINJ:=27;第16頁第16頁17WHILEA[J]=1DOJ:=J─1;
FORI:=J+1TO27DOFORI:=0TO31DOB[I]:=0;FORI:=1TO32DO
begin
FORK:=ITOI+4DO
S:=S*2+A[K];END;S:=0;
②①
③④第17頁第17頁18
FORI:=0TO31DOS:=S+B[I];IF
⑤
THENP:=0;END;FORI:=1TO32DOFORJ:=ITOI+4DOWRITE(A[J]);WRITELN;END.A[J]:=1;A[I]:=0;S:=0;B[S]:=1;S=32進(jìn)制理解與應(yīng)用第18頁第18頁195、初中,問題:多項(xiàng)式乘法運(yùn)算:P(X)=2X2---x+1,q(x)=x+1p(x)*q(x)=(2x2—x+1)*(x+1)=2x3+X2-+1闡明:多項(xiàng)式表示:系數(shù)、指數(shù)如上例中P(X)系數(shù)指數(shù)Q(X)系數(shù)指數(shù)2211-111010000
0第19頁第19頁20P*Q結(jié)果存入C中。其輸出格式是:依次用一對括號(hào)內(nèi)(系數(shù)、指數(shù))分別來表示。如上例輸出結(jié)果表示為:(2,3)(1,2)(1,0)程序清單:
PROGRAMNO100_7;VARI,J,K,L,JP,JQ,JC,X,Y,X1,Y1:INTEGER;P,Q:ARRAY[1..10,1..2]OFINTEGER;C:ARRAY[1..20,1..2]OFINTEGER;第20頁第20頁21BEGINJP:=0;READLN(X,Y);WHILEX<>0DO
BEGIN
JP:=JP+1;P[JP,1]:=X;P[JP,2]:=Y;READLN(X,Y);END;
JQ:=0;
第21頁第21頁22
READLN(X,Y);
WHILEX<>0DOBEGINJQ:=JQ+1;Q[JQ,1]:=X;Q[JQ,2]:=Y;READLN(X,Y);END;JC:=1;C[JC,1]:=0;C[JC,2]:=-1000;
第22頁第22頁23FORI:=1TOJPDOBEGIN
①
Y:=P[I,2];FORJ:=1TOJQDOBEGIN
②;Y1:=Y+Q[J,2];K:=1;
WHILEY1<C[K,2]DOK:=K+1;
IFY1=C[K,2]THEN③
ELSE
BEGIN
第23頁第23頁24FORL:=JCDOWNTOKDOBEGIN
C[L+1,1]:=C[L,1];C[L+1,2]:=C[L,2];END;
C[K,1]:=X1;C[K,2]:=Y1;
④END;
END;
END;
FORI:=1TOJCDOIF⑤THENWRITE(‘(’,C[I,1],‘,’,C[I,2],‘)’);
READLN;END.X:=P[I,1];X1:=X*Q[J,1];C[K,1]:=C[K,1]+X1;JC:=JC+1;C[I,1]<>0歸并算法思想第24頁第24頁256、在A,B兩個(gè)城市之間設(shè)有N個(gè)路站(以下圖中S1,且N<100),城市與路站之間、路站和路站之間各有若干條路段(各路段數(shù)≤20,且每條路段上距離均為一個(gè)整數(shù))。第25頁第25頁26A,B一條通路是指:從A出發(fā),可經(jīng)過任一路段抵達(dá)S1,再從S1出發(fā)經(jīng)過任一路段,…最終抵達(dá)B。通路上路段距離之和稱為通路距離(最大距離≤1000)。當(dāng)全部路段距離給出之后,求出全部不同距離通路個(gè)數(shù)(相同距離僅記一次)。比如:下圖所表示是當(dāng)N=1時(shí)情況:第26頁第26頁27從A到B通路條數(shù)為6,但因其中通路5+5=4+6,因此滿足條件不同距離通路條數(shù)為5。算法說明:本題采取窮舉算法。數(shù)據(jù)結(jié)構(gòu):N:統(tǒng)計(jì)A,B間路站個(gè)數(shù)
數(shù)組D[I,0]統(tǒng)計(jì)第I-1到第I路站間路段個(gè)數(shù)D[I,1],D[I,2],…統(tǒng)計(jì)每個(gè)路段距離
數(shù)組G統(tǒng)計(jì)可取到距離第27頁第27頁28程序清單:
PROGRAMCHU7_6;
VARI,J,N,S:INTEGER;
B:ARRAY[0..100]OFINTEGER;
D:ARRAY[0..100,0..20]OFINTEGER;
G:ARRAY[0..1000]OF0..1;第28頁第28頁29BEGIN
READLN(N);
FORI:=1TON+1DO
BEGIN
READLN(D[I,0]);
FORJ:=1TOD[I,0]DO
READLN(D[I,J]);
END;
D[0,0]:=1;
FORI:=1TON+1DO
B[I]:=1;
B[0]:=0;
FORI:=0TO1000DO
G[I]:=0;
WHILE①DO第29頁第29頁30BEGIN
S:=0;
FORI:=1TON+1DO
S:=②
G[S]:=1;J:=N+1;
WHILE③DOJ:=J-1;
B[J]:=B[J]+1;
FORI:=J+1TON+1DO
B[I]:=1;
END;
S:=0;
FORI:=1TO1000DO
④;
WRITELN(S);READLN;
END.B[0]=0;S+D[I,B[I]];B[J]=D[J,0];S:=S+G[I];窮舉算法應(yīng)用第30頁第30頁31
7、問題描述:將n個(gè)整數(shù)分成k組(k≤n,要求每組不能為空),顯然這k個(gè)部分均可得到一個(gè)各自和s1,s2,……sk,定義整數(shù)P為:P=(S1-S2)2+(S1-S3)2+…+(S1-Sk)2+(s2-s3)2+…+(Sk-1-Sk)2問題求解:求出一個(gè)分法,使P為最小(若有各種方案僅記一個(gè)〉程序闡明:數(shù)組:a[1],a[2],...A[N]存儲(chǔ)原數(shù)s[1],s[2],...,s[K]存儲(chǔ)每個(gè)部分和b[1],b[2],...,b[N]窮舉用暫時(shí)空間d[1],d[2],...,d[N]存儲(chǔ)最佳方案程序:第31頁第31頁32programexp4;Vari,j,n,k:integer;a:array[1..100]ofinteger;b,d:array[0..100]ofinteger;s:array[1..30]ofinteger;beginreadln(n,k);forI:=1tondoread(a[I]);forI:=0tondob[I]:=1;cmin:=1000000;while(b[0]=1)do第32頁第32頁33beginforI:=1tokdo①forI:=1tondo
②sum:=0;ForI:=1tok-1doforj:=③sum:=sum+(s[I]-s[j])*(s[I]-s[j]);if④thenbegincmin:=sum;forI:=1tondod[I]:=b[I];
第33頁第33頁34end;j:=n;while⑤doj:=j-1;b[j]:=b[j]+1;forI:=j+1tondo⑥end;writeln(cmin);forI:=1tondowrite(d[I]:4);writeln;end.
(1)
S[I]:=0;(2)S[b[I]]:=s[b[i]]+a[I];(3)
I+1tokdo(4)
(cmin>sum)(5)
b[j]=k(6)
b[I]:=1;應(yīng)用進(jìn)制辦法搜索第34頁第34頁358、工廠在天天生產(chǎn)中,需要一定數(shù)量零件,同時(shí)也能夠知道天天生產(chǎn)一個(gè)零件生產(chǎn)單價(jià)。在N天生產(chǎn)中,當(dāng)日生產(chǎn)零件能夠滿足當(dāng)日需要,若當(dāng)日用不完,能夠放到下一天去使用,但要收取每個(gè)零件保管費(fèi),不同天收取費(fèi)用也不相同。問題求解:求得一個(gè)N天生產(chǎn)計(jì)劃(即N天中天天應(yīng)生產(chǎn)零件個(gè)數(shù)),使總費(fèi)用最少。(窮舉算法)輸入:N(天數(shù)N<=29)天天需求量(N個(gè)整數(shù))天天生產(chǎn)零件單價(jià)(N個(gè)整數(shù))天天保管零件單價(jià)(N個(gè)整數(shù))第35頁第35頁36輸出:天天生產(chǎn)零件個(gè)數(shù)(N個(gè)整數(shù))比如:當(dāng)N=3時(shí),其需要量與費(fèi)用下列:
第一天第二天第三天需要量251530生產(chǎn)單價(jià)203032保管單價(jià)5l00生產(chǎn)計(jì)劃安排能夠有許多方案,下列面三種:第一天第二天第三天總費(fèi)用25153025*2O+15*30+30*32=19104003040*20+15*5+30*32=1835700070*20+45*5+30*10=1925第36頁第36頁37程序闡明:b[n]:存儲(chǔ)天天需求量,c[n]:天天生產(chǎn)零件單價(jià)d[n]:天天保管零件單價(jià),e[n]:生產(chǎn)計(jì)劃程序:Programexp5;Vari,j,n,yu,j0,j1,s:integer;b,c,d,e:array[0..30]ofinteger;beginreadln(n);fori:=1tondoreadln(b[[i],c[I],d[i]);第37頁第37頁38Fori:=1tondoe[i]:=0;
①:=10000;c[n+2]:=0;b[n+1]:=0;j0:=1;While(j0<=n)dobeginyu:=c[j0];j1:=j0;s:=b[j0];while②dobegin
③j1:=j1+1;s:=s+b[j1];end;
④j0:=j1+1;end;Fori:=1tondo⑤
readln;end.(1)
c[n+1](2)
(yu+d[j1)])<(c[j1+1])(3)
yu:=yu+d[j1];(4)
e[j0]:=s;(5)
write(e[I],’‘);第38頁第38頁399、問題描述:有n種基本物質(zhì)(n≤10),分別記為P1,P2,……,Pn,用n種基本物質(zhì)結(jié)構(gòu)物品,這些物品使用在k個(gè)不同地域(k≤20),每個(gè)地域?qū)ξ锲诽岢鲎约阂?這些要求用一個(gè)n位數(shù)表示:α1α2……αn,其中:αi=1表示所需物質(zhì)中必須有第i種基本物質(zhì)=-1表示所需物質(zhì)中必須不能有第i種基本物質(zhì)r=0無所謂問題求解:當(dāng)k個(gè)不同地域要求給出之后,給出一個(gè)方案,指出哪些物質(zhì)被使用,哪些物質(zhì)不被使用。程序說明:數(shù)組b[1],b[2],...,b[nJ表示某種物品a[1..k,1..n]統(tǒng)計(jì)k個(gè)地域?qū)ξ锲芬?其中:a[I,j]=1表示第i個(gè)地域?qū)Φ趈種物品是需要a[i,j]=0表示第i個(gè)地域?qū)Φ趈種物品是無所謂a[i,j]=-1表示第i個(gè)地域?qū)Φ趈種物品是不需要第39頁第39頁40Programgxp2;Vari,j,k,n:integer;p:boolean;b:array[0..20]of0..1;a:array[1..20,1..10]dinteger;beginreadln(n,k);fori:=1tokdobeginforj:=1tondoread(a[i,j]);readln;end;第40頁第40頁41fori:=0tondob[i]:=0;p:=true;while①dobeginj:=n;whileb[j]=1doj:=j-1;
②
for
i:=j+1
to
n
do
b[I]:=0;
(3)Pand(b[0]=0)b[j]:=1;p:=false;第41頁第41頁42for
i:=1
to
k
do
For
j:=1
to
n
doif(a[i,j]=1)and(b[j]=0)or④
thenp:=true;end;if⑤thenwriteln('找不到!‘)elsefori:=1tondoif(b[i]=1)thenwriteln('物質(zhì)',I,’需要')elsewriteln('物質(zhì)',i,'不需要');end.(4)(a[I,j]=-1)and(b[j]=1)(5)p第42頁第42頁4310、回形排列(5個(gè)空,每空2分共10分)【問題描述】:給出一個(gè)N((1≤N≤20),得到一個(gè)N*N回形排列方陣。比如:當(dāng)N=5時(shí),得到回形排列方陣為:12345161718196152425207142322218131211109第43頁第43頁44輸入N,輸出N*N方陣【程序闡明】A:ARRAY[1..20,1..20]OFINTEGER;存儲(chǔ)填入數(shù)K:INTEGER;每次填入數(shù);programcup_7;vari,j,k,n,n1:integer;a:array[1..20,1..20]ofinteger;beginreadln(n);n1:=ndiv2;①;
fori:=1ton1dobeginforj:=iton-idobegin②;
k:=k+1;end;forj:=iton-Idobegin③k:=k+1;end;第44頁第44頁45
forj:=n-i+1
downto
i+1
do
begin④;
k:=k+1;end;forj:=n-i+1downtoi+1dobegina[j,i]:=k;k:=k+1;end;end;if⑤thena[(n+1)div2,(n+1)div2]:=k;fori:=1tondobeginforj:=1tondowrite(a[i,j]:4);writeln;end;end.第45頁第45頁46回形矩陣(1)K:=1;(2)a[I,j]:=k;(3)a[j,n-i+1]:=k;(4)a[n-i+1,j]:=k;(5)odd(n)數(shù)字陣列,坐標(biāo)與元素之間關(guān)系第46頁第46頁47
11.(子矩陣)輸入一個(gè)n1*m1矩陣a,和n2*m2矩陣b,問a中是否存在子矩陣和b相等。若存在,輸出所有子矩陣左上角坐標(biāo);若不存在輸出“Thereisnoanswer”ConstSIZE=50;varn1,m1,n2,m2,i,j,k1,k2:integer;a,b:array[1..SIZE,1..SIZE]ofinteger;good,haveAns:boolean;beginreadln(n1,m1);fori:=1ton1doforj:=1tom1doread(a[i][j]);readln(n2,m2);fori:=1ton2do第47頁第47頁48Forj:=1tom2do
①;haveAns:=false;Fori:=1ton1-n2+1doForj:=1to②dobegin③;fork1:=1ton2dofork2:=1to④doifa[i+k1–1,j+k2-1]<>b[k1,k2]thengood:=false;第48頁第48頁49ifgoodthenbeginwriteln(i,'',j);
⑤;
end;end;ifnothaveAnsthenwriteln('Thereisnoanswer');end.①read(b[i][j])②m1-m2+1③good:=true④m2⑤haveAns:=true第49頁第49頁50
12、自然數(shù)拆分:
programp_11;constm=100;vars:array[1..m]of0..m;n,I,j,sum,count:integer;procedureprint;vark:integr;begincount:=count+1;write(count,‘:’,n,‘=‘,s[1]);fork:=2toIdowrite(‘+’,s[k]);writeln;end;第50頁第50頁51beginreadln(n);I:=1;sum:=0;j:=0;count:=0;RepeatJ:=j+1;Sum:=sum+j;If(1)thenBeginS[I]:=(2);Ifsum=nthenBeginPrint;Sum:=(3);I:=I-1;Sum:=(4);(1)Sum<=n(2)J(3)Sum-s[I];(4)Sum-s[I];回溯算法應(yīng)用第51頁第51頁52J:=s[i];endEndElsebeginI:=I+1;j:=s[I-1]-1;endElsebegin
Sum:=(5);I:=(6);sum:=(7);J:=s[I];end;Untili=0End.(5)Sum-j(6)I-1(7)Sum-s[I]第52頁第52頁53自然數(shù)拆分比較好算法:
programp1_5(input,output);Vara,b:array[1..100]ofbyte;n:integer;proceduretry(m,start,k:integer);vari,j:integer;beginfori:=startto(mdiv2)dobegina[k]:=m-i;b[k]:=i;forj:=1tokdowrite(b[j],'+');第53頁第53頁54writeln(a[k]);try(a[k],i,k+1)end;end;beginreadln(n);try(n,1,1)end.第54頁第54頁55
13、(選排列)下面程序功效是利用遞歸辦法生成從1到n(n<10)n個(gè)數(shù)中取k(1<=k<=n)個(gè)數(shù)所有也許排列(不一定按升序輸出)。比如,當(dāng)n=3,k=2時(shí),應(yīng)當(dāng)輸出(每行輸出5個(gè)排列):121321233231第55頁第55頁56Programex501;Vari,n,k:integer;a:array[1..10]ofinteger;count:longint;Procedureperm2(j:integer);vari,p,t:integer;beginif①thenbeginfori:=ktondobegininc(count);t:=a[k];a[k]:=a[i];a[i]:=t;第56頁第56頁57for②dowrite(a[p]:1);write('');t:=a[k];a[k]:=a[i];a[i]:=t;if(countmod5=0)thenwriteln;end;exit;end;第57頁第57頁58fori:=jtondobegint:=a[j];a[j]:=a[i];a[i]:=t;
③;t:=a[j];④;endend;beginwriteln('Entryn,k(k<=n):');read(n,k);count:=0;
for
i:=1ton
doa[i]:=i;
⑤
;end.第58頁第58頁5913、選排列①
j=k(或k=j)②
p:=1tok③perm2(j+1)④
a[j]:=a[i];a[i]:=t⑤
perm2(1)回溯算法應(yīng)用第59頁第59頁6014.(大整數(shù)開方)輸入一個(gè)正整數(shù)n(1≤n<10100),試用二分法計(jì)算它平方根整數(shù)部分。constSIZE=200;typehugeint=recordlen:integer;num:array[1..SIZE]ofinteger;end;//len表示大整數(shù)位數(shù);num[1]表示個(gè)位、num[2]表示十位,以這類推vars:string;i:integer;
target,left,middle,right:hugeint;
第60頁第60頁61Functiontimes(a,b:hugeint):hugeint;//計(jì)算a和b積vari,j:integer;ans:hugeint;beginfillchar(ans,sizeof(ans),0);fori:=1toa.lendoforj:=1tob.lendo①:=ans.num[i+j-1]+a.num[i]*b.num[j];fori:=1toa.len+b.lendobeginans.num[i+1]:=ans.num[i+1]+ans.num[i]div10;
②;ifans.num[a.len+b.len]>0thenans.len:=a.len+b.lenelseans.len:=a.len+b.len-1;end;times:=ans;end;第61頁第61頁62functionadd(a,b:hugeint):hugeint;//計(jì)算a和b和vari:integer;ans:hugeint;beginfillchar(ans.num,sizeof(ans.num),0);ifa.len>b.lenthenans.len:=a.lenelseans.len:=b.len;Fori:=1toans.lendobeginans.num[i]:=③;
第62頁第62頁63
ans.num[i+1]:=ans.num[i+1]+ans.num[i]div10;ans.num[i]:=ans.num[i]mod10;end;Ifans.num[ans.len+1]>0theninc(ans.len);add:=ans;end;第63頁第63頁64Functionaverage(a,b:hugeint):hugeint;//計(jì)算大整數(shù)a和b平均數(shù)整數(shù)部分vari:integer;ans:hugeint;beginans:=add(a,b);fori:=ans.lendownto2dobeginans.num[i-1]:=ans.num[i-1]+(④)*10;ans.num[i]:=ans.num[i]div2;end;ans.num[1]:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛安全管理課件
- 餐廳等位卡模版
- 2026年無人無人機(jī)巡查服務(wù)合同
- 醫(yī)療器械工藝流程詳解
- 社會(huì)媒體對青年群體心理健康的挑戰(zhàn)
- 2025年漯河市文化廣電和旅游局所屬事業(yè)單位人才引進(jìn)18名備考題庫及答案詳解(奪冠系列)
- 中醫(yī)AI診療系統(tǒng)
- 疫情下最佳的醫(yī)患關(guān)系
- 1-《雄偉的塔》教學(xué)實(shí)施計(jì)劃 授導(dǎo)型教學(xué)設(shè)計(jì)方案
- 聚焦爬蟲介紹
- 2026年春統(tǒng)編版(新教材)小學(xué)道德與法治三年級(jí)下冊教學(xué)計(jì)劃及進(jìn)度表
- 社區(qū)衛(wèi)生安全生產(chǎn)制度
- 物理試卷-云南師大附中2026屆高三1月高考適應(yīng)性月考卷(六)
- 教育培訓(xùn)加盟合同協(xié)議
- 影視立項(xiàng)轉(zhuǎn)讓合同范本
- 胸痛救治單元培訓(xùn)
- 2026年孝昌縣供水有限公司公開招聘正式員工備考題庫及1套完整答案詳解
- 四川省南充市2024-2025學(xué)年高二上學(xué)期1月期末考試化學(xué)試題
- 產(chǎn)前篩查檔案管理制度
- DZ∕T 0399-2022 礦山資源儲(chǔ)量管理規(guī)范(正式版)
- 普通高等學(xué)校本科專業(yè)目錄2018
評論
0/150
提交評論