1174大整数乘法
题目
思路
总的来说共分为4步:
第一,将定义的两个字符串倒转;
第二,对位乘法;
第三,规划:逢十进一;
第四,倒着输出(但是要保证不能有前导0的情况)
!!!具体详解可以看一下源码里的注解!!!
源码
#include<bits/stdc++.h>
using namespace std;
int a[10000];
int main()
{
string s,t;
cin>>s>>t;
//将s,t字符串反转
reverse(s.begin(),s.end());//begin()表示开始的第一个元素
reverse(t.begin(),t.end());//end()表示最后一个元素的下一位
int i,j;
for(i=0;i<s.size();i++)
{
for(j=0;j<t.size();j++)
{
a[i+j]+=(s[i]-'0')*(t[j]-'0');//减0字符可以将字符型转为整形
//如果没有转为整型相乘的将是ASCII码值相乘,而不是数字
}
}
//规划: