大树乘法的代码,自己写的 贴下

这段代码展示了如何使用C++实现大数乘法。通过定义一个名为Mult的类,包含大数乘法的方法big_mult(),该方法接受两个字符串形式的大数,返回它们的乘积。代码中用到了动态内存分配、字符数组来存储大数,并通过逐位相乘、进位的方式来完成乘法运算。
摘要由CSDN通过智能技术生成

大数乘法:

#include <iostream>
#include <string>
using namespace std;
#define N 999

class Mult
{
private:
 char result[N];
 char *m1;
 char *m2;
 int len1;
 int len2;
public:
 Mult(char *p1,char *p2,int a1,int a2):m1(p1),m2(p2),len1(a1),len2(a2){}

 ~Mult()
 {
  delete m1;
  delete m2;
  cout<<"delete ok"<<endl;
 }
 
 char* big_mult();
};

char* Mult::big_mult()
{
 int i,j;
 int tmp;
 int r,k;

 //初始化
 for(i=0;i<=N;i++)
 {
  result[i] = 0;
 }
 for(i=len1-1,r=len1+len2-1;i>=0;r--,i--)
  for(j=len2-1,k=r;j>=0;j--,k--)
  {
   tmp = (m1[i]-'0')*(m2[j]-'0');
//   cout << tmp << endl;

   re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值