AcWing 793. 高精度乘法(C语言新手版)
原题链接
简单
作者:
师大专升本16级学长
,
2019-12-16 14:58:33
,
所有人可见
,
阅读 3027
#include <bits/stdc++.h>
#include <iostream>
#include <string.h>
using namespace std;
const int N = 100010;
int main()
{
long long b,la,i,t=0;
char sa[N];
scanf("%s",&sa);
scanf("%ld",&b);
int a[N],c[N];
la=strlen(sa);
//字符转数字,并倒叙存入 方便运算
for(i = la-1; i >= 0; i--)
a[la-i-1]=sa[i]-'0';
//如果乘的a数组结束或 或者暂存值的t结束了退出
for(i=0;i<la||t;i++){
//乘法是否结束
if(i<la) t+=a[i]*b;
//转存值
c[i]=t%10;
t/=10;
}
//去除前缀零 0023*0=0
while(c[i-1]==0&&i>1)i--;
//输出结果
for(int j=i-1;j>=0;j--)
printf("%d",c[j]);
return 0;
}
这个第二个数的长度应该不行吧
确实很适合我这样的新手,高级的我也看不懂啊。
感觉就是把yxc的简化了下,都是一样的
表示没学容器啥的,这个看的懂点