Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
检查输出In Reply To:请大家看看为什么总是wa啊!! Posted by:00448175 at 2005-04-16 13:32:22 > #include<iostream.h> > #include<string.h> > #include<stdio.h> > class HugeInt{ > public: > HugeInt(); > HugeInt(const char *); > HugeInt operator+(HugeInt &); > HugeInt operator+(int); > HugeInt operator*(HugeInt &); > HugeInt operator-(int); > void print(); > > > private: > __int64 integer[3500]; > int pointPosition; > > }; > HugeInt::HugeInt(){ > for(int i=0;i<3500;i++) > integer[i]=0; > } > > > > HugeInt::HugeInt(const char *string){ > int i; > for(i=0;i<3500;i++) > integer[i]=0; > integer[3499]=2; > } > //+ > HugeInt HugeInt::operator +(HugeInt &op2){ > HugeInt temp; > int carry=0; > for(int i=3499;i>=0;i--){ > temp.integer[i]=integer[i]+op2.integer[i]+carry; > if(temp.integer[i]>100000000){ > temp.integer[i]-=100000000; > carry=1; > } > else > carry=0; > } > return temp; > } > HugeInt HugeInt::operator -(int num){ > HugeInt temp=*this; > int i=3499; > while(temp.integer[i]==0){ > temp.integer[i]=99999999; > i--; > } > temp.integer[i]--; > return temp; > } > HugeInt HugeInt::operator +(int num){ > HugeInt temp=*this; > int i=3499; > while(temp.integer[i]==99999999){ > temp.integer[i]=0; > i--; > } > temp.integer[i]++; > return temp; > } > > > //* > HugeInt HugeInt::operator*(HugeInt &op2){ > HugeInt sum; > int i,j,k,h; > __int64 carry=0; > for(k=0;integer[k]==0;k++); > for(h=0;op2.integer[h]==0;h++); > > for(i=3499;i>=k;i--){ > HugeInt temp; > for(j=3499;;j--){ > temp.integer[i+j-3499]=op2.integer[j]*integer[i]+carry; > carry=temp.integer[i+j-3499]/100000000; > temp.integer[i+j-3499]%=100000000; > if(j<=h&&carry==0) > break; > } > sum=sum+temp; > } > return sum; > } > > > //<< > void HugeInt::print(){ > int i,j; > for( i=0;integer[i]==0;i++); > for(j=i;j<3500;j++) > printf("%I64d",integer[j]); > cout<<endl; > } > void main(){ > int n; > cin>>n; > char w[1]={""}; > HugeInt q(w); > cout<<2<<endl; > for(int i=1;i<n;i++){ > q=(q-1)*q+1; > q.print(); > > } > } > > > > Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator