Показать сообщение отдельно
Старый 12.11.2012, 22:47   #4 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Числа фибоначчи вот программа.

Цитата:
#include <iostream>
#include <math.h>
using namespace std;
const int N = 220;
int ctrl = 0;
div_t t;
void add(int a[N], int b[N], int c[N]){
memset(c, 0, sizeof(int)*N);
int i = 0;
for(i = N - 1; i >= 0; i--){
if(t.quot){
c[i]++;
if(i < ctrl) ctrl = i;
}
t = div((c[i] + a[i] + b[i]),10);
c[i] = t.rem;
}
}
int main()
{
int fib0[N];int fib1[N];int fib2[N];
memset(fib0, 0, sizeof(int)*N);
memset(fib1, 0, sizeof(int)*N);
memset(fib2, 0, sizeof(int)*N);
int n;
cin>>n;
fib0[N - 1] = 1;fib1[N - 1] = 1;
ctrl = N - 1;
if(n<2) fib2[N - 1] = 1;
for (int i = 2;i <= n;i++)
{
add(fib0, fib1, fib2);
memmove(fib0, fib1, sizeof(int)*N);
memmove(fib1, fib2, sizeof(int)*N);
}
for(int i = ctrl; i < N; i++) cout<<fib2[i];
return 0;
}
Gruvi вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070