hdu 1715 大菲波數(大數)

2022-03-07 15:58:24 字數 2546 閱讀 9537

題意:整數大數加法

思路:大數模板

#include#include

#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;

}

view code

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...