Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341326
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:36

不过我要的是下面这种类的实现方法,哪位高手还可以帮我实现一下“ 减法和除法 ”啊,可别忘了帮我注释一下哦
#include
#include

#define MAX_LEN 100

class MEGA_INTEGER{
private:
   int x1[MAX_LEN],x2[MAX_LEN],x3[MAX_LEN];
   int n1,n2,n3;

   void hadd(int *xx1,int *xx2,int *xx3,int xn1,int xn2,int &xn3)
   {
   int i,j,k=0;

   if(xn1>xn2){
      xn3=xn1;
      for(i=0;i      }
   else {
      xn3=xn2;
      for(i=0;i      }

   for(i=0;i      j=xx1[MAX_LEN-1-i]+xx2[MAX_LEN-1-i]+k;
      k=j/10;
      xx3[MAX_LEN-1-i]=j%10;
      }
   if(k&&(MAX_LEN-xn3>=1)){
      xx3[MAX_LEN-1-xn3]=k;
      xn3++;
      }
   }

   void hmul(int *xx1,int *xx2,int xn1,int &xn2,int xn)
   {
   int i,j,k=0;

   for(i=0;i      j=xx1[MAX_LEN-1-i]*xn+k;
      k=j/10;
      xx2[MAX_LEN-1-i]=j%10;
      }

   xn2=xn1;
   if(k&&(MAX_LEN-xn2>=1)){
      xx2[MAX_LEN-1-xn2]=k;
      xn2++;
      }
   for(i=0;i   xn2-=i;
   }

public:
   MEGA_INTEGER(char *,char *);
   void my_add(void);
//   void my_sub(void);
   void my_mul(void);
//   void my_div(void);
   void display(void);
   };

MEGA_INTEGER::MEGA_INTEGER(char *y1="0",char *y2="0")
{
int i;
n1=strlen(y1);
n1=(n1>MAX_LEN)?MAX_LEN:n1;
for(i=0;ifor(i=0;in1-=i;
n2=strlen(y2);
n2=(n2>MAX_LEN)?MAX_LEN:n2;
for(i=0;ifor(i=0;in2-=i;
}

void MEGA_INTEGER::my_add(void)
{
hadd(x1,x2,x3,n1,n2,n3);
}

void MEGA_INTEGER::my_mul(void)
{
int i,j,k,x[MAX_LEN],xn,y[MAX_LEN],yn=0;

for(i=0;i   hmul(x1,x,n1,xn,x2[MAX_LEN-1-i]);
   for(j=0;j=1);j++){
      for(k=0;k      x[MAX_LEN-1]=0;
      xn++;
      }
   hadd(x,y,x3,xn,yn,n3);
   for(j=0;j   yn=n3;
   }
}

void MEGA_INTEGER::display(void)
{
int i;
for(i=0;i}

void main(void)
{
char s1[MAX_LEN],s2[MAX_LEN];
cout<<"\n\n";
cin>>s1>>s2;
MEGA_INTEGER xx(s1,s2);
xx.my_add();
xx.display();
cout<<"\n";
xx.my_mul();
xx.display();
}
看完了一定要帮忙哦,谢谢!!!!!!!!!!!!!

--------------------next---------------------

阅读(1179) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~