文档章节

大数乘法

 冰客
发布于 2015/09/27 13:46
字数 172
阅读 7
收藏 0

#include <iostream>

#include <string>

#include <memory.h>

using namespace std;

int m[500];

bool mf[500]; 

void multiply(string num1, string num2)

{

int i = 0;

int j = 0;

int num1l = num1.length();

int num2l = num2.length();

int temp;

int ml;

for(i = num2l - 1; i >= 0; i--)

{

for(j = num1l - 1; j >= 0; j--)

{

mf[num1l + num2l -2 - i - j] = 1;

m[num1l + num2l -2 - i - j] += (num1[j] - '0') * (num2[i] - '0');

}

}

ml = 0;

while(mf[ml])

{

temp = m[ml]/10;

m[ml] %= 10;

if(temp)

{

m[ml + 1] += temp;

mf[ml + 1] = true;

}

ml++;

}

for(i = ml - 1; i >= 0; i--)cout<<m[i];

cout<<endl;

}

int main()

{

string num1, num2;

cin>>num1;

cin>>num2;

memset(m, 0, sizeof(int) * 500);

memset(mf, 0, sizeof(bool) * 500);

multiply(num1, num2);

return 0;

}

最大积的位数可以达到500位,可行性有待考证 


© 著作权归作者所有

共有 人打赏支持
上一篇: 八皇后问题
下一篇: 日期差
粉丝 0
博文 12
码字总数 6858
作品 0
鄂州
私信 提问

暂无文章

指针数组和数组指针的区别

这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。 指针数组:arr...

天王盖地虎626
14分钟前
0
0
Qt那些事0.0.18

今天要记一下Qt中的Resource。自我感觉理解的不错,但是还会难免有谬误,在日后有可能会更新,也有可能不会。 小声的念叨一句,女人心,海底针。 今天就直接跳过了关于QML在qrc文件中的介绍,...

Ev4n
22分钟前
0
0
深入解析js的作用域、预解析机制

虽然,ES6在我们工作中应用得越来越广泛,但是还是很多项目保留着ES5的写法,所以,今天,带着大家重新巩固下ES5下的作用域及预解析机制。 概念: 作用域:域,指的是一个空间、范围、区域,...

前端攻城老湿
24分钟前
0
0
Spring Cloud Feign - 声明式 REST Client

1、Feign是什么 声明式REST client,来自NetFlix。 允许你编写无实现代码调用REST services 替换RestTemplate(甚至更简单) Spring Cloud 为使用Feign提供了包装器 2、怎样使用Feign 对比:...

Benz001
30分钟前
0
0
前端、后端和全栈到底不该学什么

1、前言 在职业规划咨询过程中经常会被问到这样的问题: 老师,我是该深入钻研专精一门,走技术大牛路线,还是所有都要精通,做一个全栈工程师? 类似问题的变种还有,老师我是不是该30岁最迟...

前端攻城小牛
32分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部