/*高精度乘法
輸入:兩行,每行表示乙個非負整數(不超過10000位)
輸出:兩數的乘積。
*/#include
<
stdio.h
>
#include
<
string
.h>
#include
<
stdlib.h
>
#include
<
memory.h
>
#define
max 10001
intbigchenfa(
int*
sum,
int*
a,int*b,
intlsum,
intla,
intlb)
return
lsum ;
}int
main(
void
),b[max]
=,sum[max*2
]=;intla=
0,lb=0
,lsum=0
;int
i,j ;
char
sa[max],sb[max] ;
scanf(
"%s %s
",sa,sb);
la =
strlen(sa);
lb =
strlen(sb);
for(i=1
,j=la-
1; i
<=
la ; i
++,j--)
a[i]
=sa[j] -'
0';for(i=
1,j=lb
-1; i<=
lb ; i
++,j--)
b[i]
=sb[j] -'
0';lsum
=bigchenfa(sum,a,b,lsum,la,lb) ;
for(i
=lsum ; i
>=
1; i--)
printf("%d
",sum[i]);
printf(""
);system(
"pause");
return0;
}
高精度乘法(模擬)
思路 從下面第乙個數字開始遍歷,逐步乘以上面的每乙個數字,每乘一次就加到add陣列中,最重要的是每一次加你都要往前前移乙個位,比如35 7,首先5 7得35,那麼此時add陣列中就是35,接下來3 7得21,看下面 3 5 2 1 2 4 5 細節 1.只要其中乙個數是0,結果直接輸出,不用走下去,...
高精度乘法(大數模擬高精度 小數快速高精度取模)
實現 n個數相乘,求出最後的值。但是太慢了啊!超時。一位一位的乘。但是這個也是一種方法吧,簡單的高精度,等再學學優化一下。include include include include include include include include include include includeus...
高精度減法,高精度乘法
高精度減法 oj資料偏弱如果新增乙個101 2就錯了,下面這一步是為了防止錯誤的 if a aa 0 可能出現第一位的1被借走的的情況,所以加乙個while找第乙個不是0的 while c i 0 i include include include include include include u...