Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2013, 20:59   #1
2Dletti
 
Регистрация: 22.01.2013
Сообщений: 3
По умолчанию Числа Фибоначчи

Помогите пожалуйста. На одну задачу мозгов хватило на 2 нет. Вот условие:
Дано натуральное число A > 1. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что φn=A. Если А не является числом Фибоначчи, выведите число -1
2Dletti вне форума Ответить с цитированием
Старый 31.01.2013, 21:23   #2
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Код:
var a,n,f1,f2:integer;
begin
write('Введите A>1: ');
read(a);
f1:=1;
f2:=1;
n:=2;
while f1<a do
begin
f1:=f1+f2;
f2:=f1-f2;
n:=n+1;
end;
if f1=a
then writeln('Ответ ',n)
else writeln('Ответ ',-1);
end.
Это если первые две единицы чисел Фибоначчи тоже считаются (если это не нужно, то сотрите n:=2)

1 1 2 3 5 8 13 21 34 ... A
МаГиЯ
мАгИя
МаГиЯ

Последний раз редактировалось MisterDie; 31.01.2013 в 21:26.
MisterDie вне форума Ответить с цитированием
Старый 31.01.2013, 22:08   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Указывайте язык
Код:
var
   n, i, f1, f2 : LongInt;

begin
     ReadLn (n);
     f1 := 0;
     f2 := 1;
     i := 1;

     while f2 < n do begin
           f2 := f1+f2;
           f1 := f2-f1;
           Inc (i)
     end;
     if f2 = n then
          WriteLn (i)
     else
         WriteLn (-1)
end.
Poma][a вне форума Ответить с цитированием
Старый 01.02.2013, 15:14   #4
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
Лампочка

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Указывайте язык
Код:
var
   n, i, f1, f2 : LongInt;
Скажите, если не трудно, чем отличается вид переменной LongInt от Integer? Сейчас посмотрел - диапазон чисел одинаковый. (от -2147483648 до 2147483647)
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 01.02.2013, 15:26   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Что-то мне подсказывает что Вы смотрели диапазон чисел для дельфи, там Integer = LongInt.. В паскале (турбо\фри) Integer [-32000..+32000] пишу по памяти, т.е. точных чисел не помню..
Poma][a вне форума Ответить с цитированием
Старый 01.02.2013, 15:38   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

2^15 = 32768
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 01.02.2013, 16:37   #7
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
В паскале (турбо\фри) Integer [-32000..+32000]
А LongInt?
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 01.02.2013, 16:50   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,313
По умолчанию

Код:
Идентификатор	Длина (байт)	Диапазон значений
integer		2		-32768..32767	 
byte		1		0..255
word		2		0..65535
shortint	1		-128..127
longint		4		-2147483648..2147483647
http://pascal.guti.ru/types.html
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 01.02.2013, 17:06   #9
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
Идентификатор	Длина (байт)	Диапазон значений
integer		2		-32768..32767	 
byte		1		0..255
word		2		0..65535
shortint	1		-128..127
longint		4		-2147483648..2147483647
http://pascal.guti.ru/types.html
Спасибо, буду знать
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 03.02.2013, 15:58   #10
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Что-то мне подсказывает что Вы смотрели диапазон чисел для дельфи, там Integer = LongInt.. В паскале (турбо\фри) Integer [-32000..+32000] пишу по памяти, т.е. точных чисел не помню..
Я смотрел в PascalABC.NET. Longint=Integer [-2147483648..2147483647],
а самый большой вид целочисленных переменных - int64 [-9223372036854775808..92233720368547 75807]
Дельфи у меня даже не стоит.
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Числа Фибоначчи zerc Помощь студентам 1 22.10.2010 19:50
Числа Фибоначчи vasyapupkin Помощь студентам 3 12.04.2010 11:27
Числа Фибоначчи Witaliy Помощь студентам 1 26.02.2009 12:18
Числа Фибоначчи imera Паскаль, Turbo Pascal, PascalABC.NET 8 17.01.2009 22:01
Числа Фибоначчи sher_man Помощь студентам 9 20.10.2007 18:45