📄 算法函数库.html
字号:
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm"
colSpan=2>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: #3366ff">参数:</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"><o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 2">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; WIDTH: 12%; PADDING-TOP: 0cm"
width="12%">
<P class=MsoNormal style="TEXT-ALIGN: right" align=right><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">a[]:<o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: black">被乘数,用字符串表示,位数不限<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 3">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal style="TEXT-ALIGN: right" align=right><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">b[]:<o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: black">乘数,用字符串表示,位数不限<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 4">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal style="TEXT-ALIGN: right" align=right><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">t[]:<o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: black">结果,用字符串表示<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 5">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal style="TEXT-ALIGN: right" align=right><SPAN
style="FONT-SIZE: 9pt; COLOR: black">返回值:<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; WIDTH: 88%; PADDING-TOP: 0cm"
width="88%">
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">null<o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 6">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: #3366ff">注意:</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> <o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 7">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> <o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN style="FONT-SIZE: 9pt; COLOR: black">空间复杂度为<SPAN
lang=EN-US> o(n^2)<o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 8">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> <o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN style="FONT-SIZE: 9pt; COLOR: black">需要<SPAN
lang=EN-US> string.h<o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 9">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: #3366ff">源程序:</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"><o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; WIDTH: 88%; PADDING-TOP: 0cm"
width="88%">
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> <o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 10; mso-yfti-lastrow: yes">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> <o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">void</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> mult(</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">char</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> a[],</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">char</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> b[],</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">char</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">
s[])<BR>{<BR> </SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">int</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">
i,j,k=0,alen,blen,sum=0,res[65][65]={0},flag=0;<BR> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">char</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">
result[65];<BR> alen=strlen(a);blen=strlen(b);
<o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">
(i=0;i<alen;i++)<BR> </SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> (j=0;j<blen;j++)
res[i][j]=(a[i]-'0')*(b[j]-'0');<o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">
(i=alen-1;i>=0;i--)<BR> {<BR> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> (j=blen-1;j>=0;j--)
sum=sum+res[i+blen-j-1][j];<BR> result[k]=sum%10;<BR> k=k+1;<BR> sum=sum/10;<BR> }<o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">
(i=blen-2;i>=0;i--)<BR> {<BR> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> (j=0;j<=i;j++)
sum=sum+res[i-j][j];<BR> result[k]=sum%10;<BR> k=k+1;<BR> sum=sum/10;<BR> }<BR> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">if</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> (sum!=0)
{result[k]=sum;k=k+1;}<o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> (i=0;i<k;i++)
result[i]+='0';<BR> </SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">for</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> (i=k-1;i>=0;i--)
s[i]=result[k-1-i];<BR> s[k]='\0';<o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">while</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">(1)<BR> {<BR> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">if</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">
(strlen(s)!=strlen(a)&&s[0]=='0')
<BR> strcpy(s,s+1);<BR> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">else</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"><BR> </SPAN><SPAN
lang=EN-US style="FONT-SIZE: 9pt; COLOR: blue">break</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">;<BR> }<BR>}<o:p></o:p></SPAN></P></TD></TR></TBODY></TABLE></DIV>
<P class=MsoNormal><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"><o:p> </o:p></SPAN></P>
<P><A name=4></A><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">4.精度计算棗加法<o:p></o:p></SPAN></P>
<DIV align=center>
<TABLE class=MsoNormalTable
style="WIDTH: 80%; mso-cellspacing: 3.7pt; mso-padding-alt: 0cm 0cm 0cm 0cm"
cellSpacing=5 cellPadding=0 width="80%" border=0>
<TBODY>
<TR style="mso-yfti-irow: 0">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm"
colSpan=2>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: #3366ff">语法:</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">add(</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">char</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> a[],</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">char</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> b[],</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: blue">char</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"> s[]);<o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 1">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm"
colSpan=2>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: #3366ff">参数:</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black"><o:p></o:p></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 2">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; WIDTH: 12%; PADDING-TOP: 0cm"
width="12%">
<P class=MsoNormal style="TEXT-ALIGN: right" align=right><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">a[]:<o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: black">被乘数,用字符串表示,位数不限<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 3">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal style="TEXT-ALIGN: right" align=right><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">b[]:<o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: black">乘数,用字符串表示,位数不限<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 4">
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal style="TEXT-ALIGN: right" align=right><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: black">t[]:<o:p></o:p></SPAN></P></TD>
<TD
style="PADDING-RIGHT: 0cm; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; PADDING-TOP: 0cm">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 9pt; COLOR: black">结果,用字符串表示<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P></TD></TR>
<TR style="mso-yfti-irow: 5">
<TD
style="PADDING-RIGHT: 0cm; PADDING-
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -