|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.10.2012, 11:46 | #1 |
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Олимпиадная задача "Золото племени АББА" на Pascal (№7 с acmp.ru)
Здравствуйте! Снова у меня вопрос по задаче из школы программистов - ссылка "Золото племени АББА"
В задаче надо сравнить 3 числа и вывести наибольшее. Казалось бы, полная ерунда, пару If-ов понатыкал и вывел наибольшее. Но такая программа почему-то не проходит некоторые тесты. Решение я знаю. Там надо используя счетчики, посчитать самую длинную запись в строке, учитывать пробелы, одинаковые значения и т.д. много чего писать не буду. Интересует, что же там такого не подходит роботу в программе с If-ами? Вот пример моей попытки (не удивляйтесь, что она странноватая программа, я просто не понимая в чем дело усложнял ее): Код:
Код:
Последний раз редактировалось Ghost3; 29.10.2012 в 11:50. |
29.10.2012, 12:00 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Число из 100 цифр не влезает в int64.
|
29.10.2012, 12:05 | #3 |
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Гм... тфу, точно, что я так туплю.
И только из-за этого? И нет такого диапазона чисел, куда уместилось бы большое число? |
29.10.2012, 12:44 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Существуют (разумеется, ибо на ней держится всё сегодняшнее асимметричное шифрование) классы/типы для сверхдлинной целочисленной арифметики. В большинстве языков они не входят в стандарт и являются сторонними библиотеками.
|
29.10.2012, 14:06 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Код:
Размер кода: 499 Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 29.10.2012 в 16:15. |
29.10.2012, 14:17 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
раз пошла такая пьянка...
тогда я и своё решение приведу... Код:
Размер кода 575 Цитата:
Последний раз редактировалось Serge_Bliznykov; 29.10.2012 в 14:23. |
|
17.01.2013, 11:40 | #7 |
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Код:
Код:
Ps: пользуюсь PascalABC.NET, с файлами на компе не хочет работать в этой программе, приходится закрывать под комментарий строки, связанные с input\output и вводить через клаву значения =\ Последний раз редактировалось Ghost3; 17.01.2013 в 11:43. |
17.01.2013, 12:06 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Пока не вижу причин появления этих чисел, но есть замечания по алгоритму:
Код:
Хотя, наверное, я не прав, т.к. потом, это значение будет заменено. Лучше уж этот кусок написать: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 17.01.2013 в 12:13. |
17.01.2013, 12:21 | #9 | |
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Цитата:
Если "A>B" но "C>A" то "B" никак не может быть больше "C", ведь верно? Да, спасибо за упрощение кода, но проблема остается =( |
|
17.01.2013, 12:34 | #10 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
олимпиадная задача | quade1992 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 17.05.2012 18:57 |
Олимпиадная задача "Карточки" (Pascal) | rustkill | Помощь студентам | 1 | 01.05.2012 17:40 |
Олимпиадная задача | Saidoz | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 28.10.2011 13:02 |
олимпиадная задача | danzel1 | Общие вопросы C/C++ | 2 | 21.10.2011 15:15 |
Олимпиадная задача | Carbon | Общие вопросы C/C++ | 2 | 23.05.2007 22:07 |