Auto commit

This commit is contained in:
smallkun 2025-04-02 19:34:45 +08:00
parent dc74003746
commit d31fe4ec44

View File

@ -37,34 +37,34 @@ int main(){
```c ```c
#include <stdio.h> #include <stdio.h>
#include <string.h>
int main(){ int main(){
char str1[200], str2[200], temp[200],result[1000] = {0}; char str1[200], str2[200], result[400]={0};
int i, j, k, t; int i, j, k, t = 0;
scanf("%s%s", str1, str2);
j=strlen(str2)-1; scanf("%s %s", str1, str2);
j=strlen(str2)-1;//下面的数的从个位开始的每一位的下标
while(j>=0){ while(j>=0){
k=0; i=strlen(str1)-1;//上面的数的每一位的下标
for(i=strlen(str1)-1;i>=0;i--){ k=0;//上面数字的 0:个位 1:十位
t = k + strlen(str2)-1-j; t=strlen(str2)-j-1;//下面数字乘法的偏移量
result[t+1] += (result[t] + (str1[i]-48)*(str2[j]-48))/10; while(i>=0){
result[t] = (result[t] + (str1[i]-48)*(str2[j]-48))%10; result[k+t] += (str1[i]-48)*(str2[j]-48);
result[k+t+1] += result[k+t]/10;
result[k+t] %=10;
k++; k++;
i--;
} }
j--; j--;
} }
k+=strlen(str2)-1; k+=strlen(str2);
while(result[k]==0) k--; while(result[k] == 0) k--;
while(k>=0){ while(k>=0){
putchar(result[k] + 48); putchar(result[k--]+48);
k--;
} }
puts(""); printf("\n");
return 0; return 0;
} }
@ -73,19 +73,5 @@ int main(){
### 高精度减法
```c
```
### 高精度乘法
```c
```