两个大数相乘的问题(只限制是正整数)
来源:互联网 发布:网络悬疑推理电视剧 编辑:程序博客网 时间:2024/06/06 08:34
#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
void multiply(char *a,char *b,int la,int lb)
{
int p[100]={0};
int q[100]={0};
int result[200]={0};
int c[200]={0};
int i,j,flag;
for(i=0;i<la;i++)
p[i]=a[la-1-i]-'0';
for(j=0;j<lb;j++)
q[j]=b[lb-1-j]-'0';
for(i=0;i<la;i++)
{
int pos=i;
for(j=0;j<lb;j++)
{
int temp=p[i]*q[j];
result[pos]+=temp%10;
result[pos+1]+=temp/10;
pos++;
}
}
for(i=0;i<la+lb;i++)
if(result[i]>=10)
{
result[i+1] += result[i] / 10;
result[i] = result[i] % 10;
}
/*
for(i=0;i<la+lb;i++)
cout << result[i] << " ";
cout << endl;
*/
for(i=0;i<la+lb;i++)
c[la+lb-1-i]=result[i];
if(c[0]==0) flag=1;else flag=0;
for(i=flag;i<la+lb;i++)
cout << c[i];
cout << endl;
}
int main(int argc, char *argv[])
{
while(1)
{
char a[100];
char b[100];
cout << "please input number a: \n";
cin >> a;
cout << "please input number b:\n";
cin >> b;
multiply(a,b,strlen(a),strlen(b));
}
system("PAUSE");
return EXIT_SUCCESS;
}
- 两个大数相乘的问题(只限制是正整数)
- 两个大数的相乘
- 两个大数相乘、精度很高的小数相乘(小数点后位数没有限制,请写一个高精度算法)
- 大数算法 -- 正整数相乘(Java 实现)
- 两个整数的大数相乘
- 任意长度的两个正整数相乘
- 数学问题3:两个大数相乘
- 两个大数相乘的C++实现
- 两个大数(50位以上)相乘
- 两个大数相乘(字符串形式)
- 两个大数相乘
- 两个十进制大数相乘
- 两个大数相乘
- 实现两个大数相乘
- (转)两个大数相乘
- 两个大数相乘
- 两个大数相乘
- 两个大数相乘
- SSH服务器登录提示消息配置
- windows 版Tomcat 7.0的配置
- Linux Shell编程(基础教程)
- ORACLE不支持表分区问题
- Redis操作 hash sort String sorted_set list help @String @list
- 两个大数相乘的问题(只限制是正整数)
- SDE表结构分析
- Grep命令
- PHP模板引擎Smarty
- LINUX下查看系统文件打开数
- 发现一本不错的书《Linux 多线程服务端编程:使用 muduo C++ 网络库》
- 思科交换机端口限速实战
- 使用AO往MDB和SDE写数据的一些经验之谈
- 曾国藩-唐明浩