Другие языки программирования и технологии
Напишите программу!!! Разработать процедуру для вычисления чисел Фибаначи(1+2+3+5+8+13...)
Количество чисел задается входным параметром nЧисла Фибаначи -- следующее число состоит из суммы 2х предыдущих
Доброго времени суток.
Чот не понял, вам надо найти сумму заданного числа членов последовательности Фибоначи или просто получить заданный член последовательности?
Вот функция, возвращающая заданный член последовательности. Переделать для вычисления суммы легко.
function Fibo(n: Integer): Longint;
var
A, A1, A2, i : Longint;
begin
A1 := 1;
A2 := 1;
for i:=3 to n do begin
A := A1 + A2;
A1 := A2;
A2 := A;
end;
Fibo := A;
end;
Удачи!
Чот не понял, вам надо найти сумму заданного числа членов последовательности Фибоначи или просто получить заданный член последовательности?
Вот функция, возвращающая заданный член последовательности. Переделать для вычисления суммы легко.
function Fibo(n: Integer): Longint;
var
A, A1, A2, i : Longint;
begin
A1 := 1;
A2 := 1;
for i:=3 to n do begin
A := A1 + A2;
A1 := A2;
A2 := A;
end;
Fibo := A;
end;
Удачи!
Айдос Абылханов
а через процедуру сможешь ?
(define (fibonacci-sequencer)
(let ((an-2 1) (an-1 1))
(lambda ()
(let ((res an-2)
(an (+ an-2 an-1)))
(set! an-2 an-1)
(set! an-1 an) res))))
(define fs (fibonacci-sequencer))
(display (fs))(newline)
(display (fs))(newline)
(display (fs))(newline)
(display (fs))(newline)
Результат:
1
1
2
3
5
8
Или тебе сумма последовательности нужна?
Тогда так:
(define (fibonacci-sequencer)
(let ((an-2 1) (an-1 1))
(lambda ()
(let ((res an-2)
(an (+ an-2 an-1)))
(set! an-2 an-1)
(set! an-1 an) res))))
(define fibsum
(lambda (n)
(let ((fs (fibonacci-sequencer)))
(apply + (map (lambda(i) (fs)) (make-list n 0))))))
(display "Enter n:")(define N (read))
(for-each display (list "Sum of " N " first Fibonacci numbers is " (fibsum N)))
(newline)
(let ((an-2 1) (an-1 1))
(lambda ()
(let ((res an-2)
(an (+ an-2 an-1)))
(set! an-2 an-1)
(set! an-1 an) res))))
(define fs (fibonacci-sequencer))
(display (fs))(newline)
(display (fs))(newline)
(display (fs))(newline)
(display (fs))(newline)
Результат:
1
1
2
3
5
8
Или тебе сумма последовательности нужна?
Тогда так:
(define (fibonacci-sequencer)
(let ((an-2 1) (an-1 1))
(lambda ()
(let ((res an-2)
(an (+ an-2 an-1)))
(set! an-2 an-1)
(set! an-1 an) res))))
(define fibsum
(lambda (n)
(let ((fs (fibonacci-sequencer)))
(apply + (map (lambda(i) (fs)) (make-list n 0))))))
(display "Enter n:")(define N (read))
(for-each display (list "Sum of " N " first Fibonacci numbers is " (fibsum N)))
(newline)
Айдос Абылханов
а на паскале можешь ?
на каком языке? за 5 баллов окей, без проблем, если язык знаю
void fib(n)
{
int f[100];
f[0]=1; f[1]=2;
for(int i=2;i<n;i++)>=f[i-1]+f[i-2];
for(i=0;i<n;i++)><<" ";
}
Это функция на С++.
Её потом в программе вызвать - она просто выведет последоавательность чисел.
{
int f[100];
f[0]=1; f[1]=2;
for(int i=2;i<n;i++)>=f[i-1]+f[i-2];
for(i=0;i<n;i++)><<" ";
}
Это функция на С++.
Её потом в программе вызвать - она просто выведет последоавательность чисел.
Айдос Абылханов
а на паскале можешь ?
Леван Моргошиа
Во-первых, вставляй пробелы в квадратные скобки, чтобы движок ответов код не корявил.
Во-вторых, что у тебя будет, если нужно 200 элементов?
Во-вторых, что у тебя будет, если нужно 200 элементов?
Похожие вопросы
- ПОЖАЛУЙСТА!!!!Напишите программу для вычисления суммы 10 натуральных чисел последовательностью 1+2+4+8+..в Pascal
- 1. Написать программу, которая заполняет массив целых чисел размеров 20 элементов значениями роста учащихся (случайные ч
- Как написать программу, которая будет представлять вещественное число в памяти компьютера
- Найдите закономерности 1,1,1,2,3,4,3,5,7_,7,_,5,9,13,_,_,16
- Вычислить произведение n>=2 (n четное) сомножителей y=(2/1)*(2/3)*(4/3)*(4/5)*(6/5)*(6/7)*..
- Написать программу, которая формирует два массива чисел
- ПОМОГИТЕ! Нужны числа от 1 до 1 000 000 в таком порядке:. 1 2 3 4 5 6 7
- Pascal. Программа выводит 3 столбца по рядам, а нужно чтоб №1 2 3.. в столбик. Помогите.
- Сколько чисел надо взять в последовательности 1+2+3+4...,чтобы получить число,больше чем N?
- Pomogite pozhalujsta.. vse vozmozhnie kombinacii.. 1 2 3 4 5 6 7 8 9 10 11 12