Darth Emil Posted December 28, 2004 Report Share Posted December 28, 2004 У нас в колледже сейчас идёт практика. Каждому даётся 55 заданий, т.е. за всё время практики надо написать 55 программ. У некоторых бывает что программы совпадают. Я уже написал 24 программы. Но вот 25 меня просто стопорнула. Мы, т.е. те кому это же задание досталось, никак не можем её написать. Вот задание: Последовательнось чисел Фибоначчи образуется так: первый и второй члены последовательности равны 1, каждый следующий равен сумме двух предыдущих (1, 1, 2, 3, 5, 8, 13…). Дано натуральное число n (n>=3). Найти k-й член последовательности Фибоначчи. Получить первые n членов последовательности Фибоначчи. Для заданного n определить, верно ли, что сумма первых n членов последовательности Фибоначчи есть четное число? Мы этого Фибоначчи вообще не проходили, и не знаем даже по какой формуле эту последовательность вычислять. И вот текст программы, который мы "родили" с друзьями: Program Fibonachchi; Uses CRT; Var a,b,c,d,i,n:integer; Begin clrscr; writeln('Введите N'); readln(n); for i:=1 to n do b:=b+a; c:=c+b; writeln©; readln; end. Может кто знает как это сделать? Пожалуйста, помогите дописать программу. Link to comment Share on other sites More sharing options...
bombeiro Posted December 28, 2004 Report Share Posted December 28, 2004 с массивами надо работать,иначе к-ый елемент не вычислить да и другие условия тоже Link to comment Share on other sites More sharing options...
Kuzmich Posted December 28, 2004 Report Share Posted December 28, 2004 (edited) Ну е-мое... a[1]:=1; a[2]:=1; for i:=2 to n-1 do a[i+1]:=a+a[i-1]; Вот и построил последовательность... Только красивее сделать с динамическим выделением памяти в Си... scanf("%f",&n); a=(float *)malloc(n*sizeof(float)); a[0]=1; a[1]=1; for(i=1;i<n-1;i++) a[i+1]=a+a[i-1]; Ну а вывести k-ый член и сумму посчитать сам догадаешься как... Edited December 28, 2004 by Kuzmich Link to comment Share on other sites More sharing options...
Darth Emil Posted December 29, 2004 Author Report Share Posted December 29, 2004 (edited) Kuzmich Это на каком языке?! Мы массивы не проходили, а 31 сдавать. Пожалуйста, напиши полный текст. Edited December 29, 2004 by Darth Emil Link to comment Share on other sites More sharing options...
Kuzmich Posted December 29, 2004 Report Share Posted December 29, 2004 var a: array [1..500] of longint; ... begin s:=0; readln(n); a[1]:=1; a[2]:=1; for i:=2 to n-1 do a[i+1]:=a+a[i-1]; readln(k); writeln(a[k]); readln(q); {Колличество первых членов} for i:=1 to q do s:=s+a; if s mod 2=0 then Writeln("Верно"); end. Уж мог бы и в интернете почитать про массивы и числа Фибоначчи... Link to comment Share on other sites More sharing options...
Darth Emil Posted December 29, 2004 Author Report Share Posted December 29, 2004 Kuzmich Спасибо! С меня бутылка Так окуда же я знал что мне такое зададут? А этого Фибоначчи я не знаю. Мы это не проходили. Link to comment Share on other sites More sharing options...
D_e_m_a Posted December 30, 2004 Report Share Posted December 30, 2004 Добрый Кузьмич... но я все же считаю что неправильно... надо было подтолкнуть парня к решению, задачка то не сложная, да ему было бы интереснеЕ. Может я и не прав. Добавлено : [mergetime]1104392104[/mergetime] кстати если постановка задачи определяется так же и тем что они массивы не проходили, то решение будет немного другое, без массивов. Хотя вариант не так красив как с используемый с массивами, и уж точно некрасив в сравнением с динамическим выделением памяти. Кстати это можно сделать и на Паскале. Link to comment Share on other sites More sharing options...
Тролль Posted December 30, 2004 Report Share Posted December 30, 2004 А этого Фибоначчи я не знаю. Мы это не проходили.Все нормально, просто не надо теряться при незнакомом слове. Фибоначчи проходить вовсе не надо. Слово "Фибоначчи" в условии - только из уважения к изобретателю ряда, а как он строится, в условии описано. Если выкинуть в условии слово "Фибоначчи", ничего не изменится. Link to comment Share on other sites More sharing options...
bombeiro Posted December 30, 2004 Report Share Posted December 30, 2004 Добрый Кузьмич... но я все же считаю что неправильно... надо было подтолкнуть парня к решению, задачка то не сложная, да ему было бы интереснеЕ а д-е-м-а то прав кстати если постановка задачи определяется так же и тем что они массивы не проходили и тут препод сразу поймёт ,что программка то левая Link to comment Share on other sites More sharing options...
Darth Emil Posted December 30, 2004 Author Report Share Posted December 30, 2004 Спору нет, мне самому надо было прогу дописать, но... Говорю же меня Фибоначчи в тупик поставил. Я знал что надо через массив(лично я его до колледжа проходил) но не знал как именно. Не думайте что я мало соображаю, просто запарился я с этой практикой - мозги не варят теперь :sm(100): Link to comment Share on other sites More sharing options...
Recommended Posts