Pagini recente » Cod sursa (job #1989128) | Cod sursa (job #1975415) | Cod sursa (job #3031027) | Cod sursa (job #1891518) | Cod sursa (job #1821255)
#include <cstring>
#include <cstdio>
struct hugeVal{
private:
FILE*t=fopen("nunta.out","w");
short index;
static unsigned const short SIZE=0x100;
public:
short num[SIZE]{0};
inline hugeVal &operator = (hugeVal target){
memcpy(num,target.num,SIZE);
return *this;}
inline hugeVal &operator += (hugeVal target){
bool remainder=0;
for (index=0;index<SIZE;++index){
num[index]+=remainder+target.num[index];
if (num[index]>9)
remainder=1,num[index]%=10;
else remainder=0;}
return *this;
}
void print(){
index=SIZE-1;
while (!num[index]) --index;
while (index>=0) fprintf(t,"%hd",num[index]),--index;
}
};
int main()
{
FILE*f=fopen("nunta.in","r");
short n;
fscanf(f,"%hd",&n);
hugeVal a,b,aux;
b.num[0]=1;
LOOP:
--n;
aux=b;
b+=a;
a=aux;
if (n>1) goto LOOP;
b.print();
return 0;
}