|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Теория* | Числа Фибоначчи |
|
*Теория* | Числа Фибоначчи
|
Ветеран Сообщения: 662 |
Профиль | Отправить PM | Цитировать
Ребята помогите выкрутиться!!! Договорился с преподом чтоб он мне зачет поставил, а он мне в ответ на это задание дал. Мол напиши прогу, которая бы находила и отоброжала числа Фибоначчи. А я в программировании вообще не силен. Могу по уже написаному сделать, да кнопки на форму покидать и все. И самое главное, что в задании нет предела. А я так понимаю, что как только число дойдет до конца обьявленного типа, то выдаст ошибку. Вот надо эту ошибку попробовать побороть. Не бросайте в беде человека.... Подскажите или ссылку какую дайте.....
|
|
Отправлено: 08:10, 06-06-2006 |
Не дед Сообщения: 15391
|
Профиль | Отправить PM | Цитировать Цитата:
PS: последнее не что иное как сокращение фразы "если меня память не подводит". |
|
------- Последний раз редактировалось DVDshnik, 06-06-2006 в 11:48. Отправлено: 08:23, 06-06-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 662
|
Профиль | Отправить PM | Цитировать DVDshnik да не злись ты. Если из-за каждой орфографической ошибки так злится, нервное расстройство можно заработать. И спасибо за подсказку
|
Отправлено: 09:26, 06-06-2006 | #3 |
Ветеран Сообщения: 1807
|
Профиль | Отправить PM | Цитировать Числа Фибоначчи - похоже, любимая развлекаловка разных преподов, и подлость действительно в том, что они очень быстро выходят за пределы 32-битных чисел. Плюс к тому на них еще любят объяснять рекурсию, поэтому программирование вычисления чисел Фибоначчи есть очень во многих книжках. Например, в Фаронове. Какой хоть язык программирования?
Можно и нагуглить кой-чего. http://www.kursovik.com/programming/201021.html - сама прога (экзешник) бесплатно, исходник на Паскале - за деньги. Есть и задарма: http://old.osp.ru/pcworld/2001/07/130t2.htm http://forum.vingrad.ru/index.php?sh...d=#entry250663 - обсуждение на форуме с парой вариантов решения Можно и еще найти. ЗЫ: Нашел вот на Питоне (язык-то не указан!): http://pythonbook.it-arts.ru/files/s...th_python.html |
Отправлено: 10:53, 06-06-2006 | #4 |
Пользователь Сообщения: 79
|
Профиль | Отправить PM | Цитировать Grub
Вот задание: ___________________________________________________________ Условие. Последовательность чисел Фибоначчи u0,u1....un образуется по закону u(0)=0;u(1)=1;u(i)=u(i-1)+u(i-2); i=1,2,3.... Дано натуральное число n>1 . Получить u0,u1....u. ____________________________________________________________ вот решение: Решение. В программу вводится количество элементов массива в диапазоне 1 <n<46 (т.к. 47 член последовательности превышает допустимое значение для типа данных int). Осуществляется проверка введённых значений. Выделяется оперативная память под массив с помощью функции malloc(). В цикле производим заполнение массива по формуле u(i)=u(i-1)+u(i-2). Затем с помощью функции printf() все элементы массива выводится на экран. #include <conio.h>; #include <stdio.h>; #include <alloc.h>; void main () { int n,i,*u; //n-количество элементов последовательности, i - счётчик, *u- указатель на массив do{ printf(" Warning! Max value n<=46 \n Input n="); // "введите кол-во элементов последовательности" scanf("%d",&n); // вводим n clrscr(); }while(n>46); //если n>46, то повторяем цикл do-while u =(int *)malloc(n*sizeof(int)); // выделяем динамически память под массив u[0]=0; // задаём значение первых двух элементов u[1]=1; printf("\n for u0=%d; \n for u1=%d;",u[0],u[1]); //выводим первые два эл-та на экран for(i=2;i<n;i++) { u[i]=u[i-1]+u[i-2]; printf("\n for u%d=%d;",i,u[i]); // и далее в цикле, согласно формуле все остальные эл-ты выводим } getch(); free(u); // очищаем отведённую под массив память } |
|
Отправлено: 11:35, 06-06-2006 | #5 |
Ветеран Сообщения: 662
|
Профиль | Отправить PM | Цитировать Блин, ребята извините. На делфях надо сделать. Задание такое: сделай мне прогу, которая будет выводить строку из чисел Фибоначчи. Предел не указываю, т.к. сам знаю что при достижении "крит.числа" вылетит ошибка. Сделай чтоб ошибка не вылетала.
Я так понял что ему бесконечность подавай. А вообще, для начала хоть что-нибудь бы найти. XPEHOMETP, Hemp спасибо. Ща буду просматривать. |
------- Отправлено: 12:36, 06-06-2006 | #6 |
DOOMer Сообщения: 3254
|
Профиль | Отправить PM | Цитировать Числа Киббоначи, знакомая штука
Чтобы переполения не было - считай столбиком, как на пумашке в школе. Если тип переменной "строка" - то раньше зачот дойдет до конца |
------- Отправлено: 12:54, 08-06-2006 | #7 |
Пользователь Сообщения: 71
|
Профиль | Отправить PM | Цитировать на pascal'е
Program Fibonache; uses crt; var x,y,z,n,i: longint; begin; clrscr; x:=1; y:=1; write ('‡*¤*©вҐ Ї®ап¤Є®ўл© *®¬Ґа зЁб«* ”ЁЎЎ***зЁ: '); readln(n); for i:=3 to n do begin; z:=x+y; y:=x; x:=z; end; if n<3 then z:=1; writeln ('зЁб«® ”ЁЎЎ®**зЁ: ',z); readln; end. Program Fibonache; uses crt; var x,y,z,n,i: longint; procedure shet (n:longint; var z:longint); begin; if n>=3 then begin; shet (n-1,z); z:=x+y; y:=x; x:=z; end else if n=3 then begin x:=1;y:=1;z:=2 end else begin x:=1; y:=1; z:=1; end; end; begin; clrscr; write ('‡*¤*©вҐ Ї®ап¤Є®ўл© *®¬Ґа зЁб«* ”ЁЎЎ***зЁ: '); readln(n); shet (n,z); writeln ('зЁб«® ”ЁЎЎ®**зЁ: ',z); readkey; end. |
Отправлено: 02:06, 11-07-2006 | #8 |
L13
Сообщения: n/a |
Была похожая задача у меня на дипломе (не Фибоначчи). Основная проблема была быстрое завершение числового диапазона, а препадам хотелось получать числа подлинее, так они одному студенту задание дали на суммирование чисел в символьном формате. Т.е. 123 + 456 были на самом деле '123' + '456'. По идее так можно и до бесконечности, пока размера диска хватит.
|
Отправлено: 14:23, 28-07-2006 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Простые числа на Си++ | nemo555 | Программирование и базы данных | 13 | 13-03-2007 21:24 | |
четность числа | elfoflorien | Вебмастеру | 6 | 18-09-2005 20:49 | |
Случайные числа на JavaScript | Dimonweb | Вебмастеру | 2 | 12-08-2004 03:23 | |
Округления числа до десятичного | khvalera | Программирование и базы данных | 3 | 02-09-2003 06:01 | |
суммироват числа | Artashes | Программирование и базы данных | 3 | 30-08-2003 18:31 |
|