Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

задача на вычисление количества чисел   Найти похожие ветки 

 
bogdan   (2005-09-27 21:06) [0]

Здравствуйте !
Вот опять приходится решать интересную задачку!
Дано 100 чисел. от 1 до 50. Найти сколько среди них чисел Фибоначчи и сколько чисел у которых первая значущая цифра в десятиричном виде 1 или 2.

Мои размышления малы: можно например упорядочить список по возрастанию, а потом - а потом не знаю что делать....
Надеюсь что вы подскажете. С уважением...


 
S@ska   (2005-09-27 22:55) [1]


> Вот опять приходится решать интересную задачку!

)))))))
я думаю что проще сделать так
M   : array [0..49] of Integer; // Массив с введенными числами

for i := Low (M) to High (M) do
begin
if (M[i] div 10)  in [1,2] then .... // Условие 2

end;
А для чисел Фибоначчи содать просто массив этих чисел и на каждой итерации вызывать функцию, которая проверяла бы входит ли M[i] в даный массив или нет.
Сортировать по моему ничего не надо _))


 
Думкин ©   (2005-09-28 06:12) [2]

> Мои размышления малы:

В описанном - они вообще отсутствуют.

Интерес, если его тут проявить - в создании оптимального алгоритма. А в тупую - пишется - 10 минут с отладкой. Максимум.


 
Сайбель Алексей ©   (2005-09-28 06:53) [3]

По моему особо мудрить здесь не надо, дано всего лишь 100 чисел. Никаких time limit"ов тут явно не будет чтобы переводить алгоритм, допусти из O(N*N) в lg(N). Так что в лоб сойдет.
Вот используй рекурсивную функцию для чисел фибоначчи:
x[1]=x[2]=1
x[n]=x[n-1]+x[n-2] при n > 2


 
bogdan   (2005-09-28 08:23) [4]

спасибо попробую


 
bogdan   (2005-10-10 19:54) [5]

Привет !
Можете подсказать можно ли cделать следующее.
Можно ли представить масив как множество.? Поясняю:
Например есть у  нас переменная i целочисленого типа. с помощью оператора
if i in [1,4,5] then.... проверяем местится ли она(значение) в множестве 1,4,5.А вот если, например, у нас есть массив, то, чтоб не писать функцию проверки принадлежности значения переменной масиву, можно ли как-то преобразовать масив в множество и проверить так как написано выше?


 
Anatoly Podgoretsky ©   (2005-10-10 20:04) [6]

bogdan   (27.09.05 21:06)  
Вторая задача проще решается через строковое представление чисел
S[1] = N


 
bogdan   (2005-10-10 23:08) [7]

Anatoly Podgoretsky ©
Я не понял вааше


 
jack128 ©   (2005-10-11 00:55) [8]

bogdan   (10.10.05 23:08) [7]
Я не понял вааше

for i := low(Arr) to high(Arr) do
 if IntToStr(arr[i])[1] in ["1", "2"] then // Первая цифра - единица или двойка

   

S@ska   (27.09.05 22:55) [1]
if (M[i] div 10)  in [1,2] then .... // Условие 2

а если M[i] = 2 то что будет ?


 
bogdan   (2005-10-11 15:34) [9]


> S@ska   (27.09.05 22:55) [1]

это вааще неправильно.
должно быть так
s:=a[i]-(a[i] div 10)*10 ;
   if s in [1,2] then


 
bogdan   (2005-10-11 15:35) [10]


> jack128 ©   (11.10.05 00:55) [8]

пасибо за совет



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
8-1118391383
seregka
2005-06-10 12:16
2005.11.06
Объединение нескольких изображений в одно с добавлением текста


2-1129362612
Vital
2005-10-15 11:50
2005.11.06
Pисунок на форме


14-1129551136
syte_ser78
2005-10-17 16:12
2005.11.06
чек в ДБриде


2-1129070139
snowkam
2005-10-12 02:35
2005.11.06
Консоль + BD


4-1125728116
Antonn
2005-09-03 10:15
2005.11.06
Вывести компьютер из ждущего режима





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский