題意:整數大數加法
思路:大數模板
#include#includeview code#include
#include
using
namespace
std;
#define maxn 9999//
萬進製#define dlen 4//
4位class
bignum
bignum(
const
int);//
將int轉化為大數
bignum(const
char*);//
將字串轉化為大數
bignum(const bignum &);//
拷貝建構函式
bignum &operator=(const bignum &);//
過載複製運算子,大數之間賦值
bignum
operator+(const bignum &)const;//
大數+大數
bignum operator-(const bignum &)const;//
大數-大數
bignum operator*(const bignum &)const;//
大數*大數
bignum operator/(const
int &)const;//
大數/int
bignum
operator^(const
int &)const;//
冪運算int
operator%(const
int &)const;//
取模bool
operator>(const bignum &)const;//
大數與大數比較
bool
operator>(const
int &)const;//
大數與int比較
void print();//
輸出大數
};bignum::bignum(
const
int b)
a[len++]=d;
}bignum::bignum(
const
char *s)
}bignum::bignum(
const bignum &t):len(t.len)
bignum &bignum::operator=(const bignum &n)
bignum bignum::
operator+(const bignum &t)const
}if(t.a[big]!=0)t.len=big+1
;
else t.len=big;
returnt;}
bignum bignum::
operator-(const bignum &t)const
else
big=t1.len;
for(i=0;ii)
else t1.a[i]-=t2.a[i];
}while(t1.a[t1.len-1]==0&&t1.len>1
)
if(flag)t1.a[big-1]=-t1.a[big-1];//
前面的小,結果為負
return
t1;}
bignum bignum::
operator*(const bignum &t)const
else
}if(up!=0)ret.a[i+j]=up;
}ret.len=i+j;
while(ret.a[ret.len-1]==0&&ret.len>1)--ret.len;
return
ret;
}bignum bignum::
operator/(const
int &b)const
ret.len=len;
while(ret.a[ret.len-1]==0&&ret.len>1)--ret.len;
return
ret;
}bignum bignum::
operator^(const
int &n)const
m-=i;
ret=ret*t;
if(m==1)ret=ret*(*this
); }
return
ret;
}int bignum::operator%(const
int &b)const
returnd;}
bool bignum::operator>(const bignum &t)const
else
return
false;}
bool bignum::operator>(const
int &t)const
void bignum::print()
printf("\n
");}int
main()
return0;
}
HDU1715 大菲波數
problem description fibonacci數列,定義如下 f 1 f 2 1 f n f n 1 f n 2 n 3。計算第n項fibonacci數值。input 輸入第一行為乙個整數n,接下來n行為整數pi 1 pi 1000 output 輸出為n行,每行為對應的f pi sam...
hdu 1715 大菲波數
problem description fibonacci數列,定義如下 f 1 f 2 1 f n f n 1 f n 2 n 3。計算第n項fibonacci數值。input 輸入第一行為乙個整數n,接下來n行為整數pi 1 pi 1000 output 輸出為n行,每行為對應的f pi sam...
hdu 1715 大菲波數(大數相加)
fibonacci數列,定義如下 f 1 f 2 1 f n f n 1 f n 2 n 3。計算第n項fibonacci數值。input 輸入第一行為乙個整數n,接下來n行為整數pi 1 pi 1000 output 輸出為n行,每行為對應的f pi sample input 512 345 sa...