大数相乘(牛客网ac通过)
2024-10-01 12:23:42
2019-05-172019-05-17
大数相乘基本思想:
相乘相加,只不过大于10先不进位到计算完后统一进位
#include <iostream>
#include <string>
/*project:两个大整数相乘
**@author:浅滩
**data:2019.05.15
*/
using namespace std;
void multiply(const string &,const string &);
int main()
{
string str1,str2;
cin>>str1>>str2;
multiply(str1,str2);
} void multiply(const string &str1,const string &str2)
{
int *num1=new int [str1.size()];
int *num2=new int [str2.size()];
int result[(str1.size()+str2.size())],result_size=;
fill(result,result+str1.size()+str2.size(),);//初始化结果数组 for(int i=;i<str1.size();i++)
num1[i]=str1[i]-'';
for(int i=;i<str2.size();i++)
num2[i]=str2[i]-''; for(int i=;i<str1.size();i++)
{
for(int j=;j<str2.size();j++)
{(result_size>=i+j? result_size=result_size:result_size=i+j); //找到result的长度-1
result[i+j]+=num1[i]*num2[j];
}
} for(int i=result_size;i>;i--)
{
result[i-]+=result[i]/;
result[i]=result[i]%;
}
for(int i=;i<=result_size;i++)
cout<<result[i]; }
最新文章
- table表框去掉相邻的间隔
- tornado学习笔记19 Tornado框架分析
- c# GridControl怎么换行
- 设计与开发一款简单易用的Web报表工具(支持常用关系数据及hadoop、hbase等)
- android 多媒体数据库详解(转)
- 我的Windows软件清单
- August 24th 2016 Week 35th Wednesday
- Android jni系统变量、函数、接口定义汇总
- (41) Aeroo 模板设计基础教程
- LA 4123 - Glenbow Museum
- s3cmd的安装与配置
- HDU5090——Game with Pearls(匈牙利算法|贪心)(2014上海邀请赛重现)
- 《c陷阱与缺陷》笔记--注意边界值
- Python 最大公约数的欧几里得算法及Stein算法
- pwm最后的解释
- git打包
- 互粉的sql查询
- 在Release版本下使用VLD
- Tomcat8源码笔记(二)Bootstrap启动
- .net core实践系列之短信服务-为什么选择.net core(开篇)