![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Продолжаю выкладывать понравившиеся мне олимпиадные задачи
Пара четверок. Найти минимальное число, которое представляется суммой четырех квадратов натуральных чисел не единственным образом т.е 1112 и 1121 - одно и тоже. Вот мое первое решение, если доделаю сейчас, выложу втрое, более короткое uses crt; Давайте, может у кого-то будут координально другие идеи ! -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
xds |
![]()
Сообщение
#2
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Неопределённость в условии - поэтому два решения. Первое - для случая, когда в сумме могут присутствовать одинаковые слагаемые, второе - для случая, когда все слагаемые различны. Естественно, результаты отличаются.
1) С повторениями: program Sqr4; 2) Без повторений: program Sqr4; -------------------- The idiots are winning.
|
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Особо пока не вникал в твое решение, но в задании надо найти минимальное число, твоя вторая програма выдает 336, а моя как минимальное 28 ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Pola |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
начальные значения
j:=i; k:=j; l:=k; Сообщение отредактировано: Pola - 15.01.2006 14:11 |
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Нажать кнопку удалить, кстати, я поменял результат не поменялся ... а итераций то явно меньше будет, ну ладно пусть это останется в секрете
![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Pola |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
|
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата Где она? около сообщения не вижу... Хмм.. возможно сейчас это доступно только модераторам и администраторам, надо узнать ... -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Pola |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
Ладно, уже не нужно
![]() А вот сокращение перебора для олимпиадной задачи дело не последнее... теперь можно наверное и проверку убрать Код begin t := 1; while (t <= 4) and flag do begin flag := not((a[t] <> i) and (a[t] <> j) and (a[t] <> k) and (a[t] <> l)); inc(t); end;{WHILE} |
klem4 |
![]()
Сообщение
#9
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
угу ..
![]() Занчится пока выходит вот так : uses crt; я рад что еще кто-то заинтересовался задаче этой ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Pola |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Женский Репутация: ![]() ![]() ![]() |
что такое flag?
почему его нет в третьем while? Сообщение отредактировано: Pola - 15.01.2006 14:36 |
klem4 |
![]()
Сообщение
#11
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
flag принимает false если результат достигнут и тогда больше ничего делать не надо, в 3-м while-е пропустил ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
xds |
![]()
Сообщение
#12
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Пардон, я напутал с генерацией последовательностей, поэтому из рассмотрения выпадали некоторые четвёрки чисел. Теперь так:
program Sqr4_3; Конечно, подбор воторой четвёрки можно ограничить и снизу, начиная с (1, 1, 1, Trunc(Sqrt(na / 4))), но, в свете того, что решение без данной оптимизации прекрасно справляется с поставленной задачей (в т. ч., укладывается в разумные временные рамки), будем считать такой подход избыточным усложнением алгоритма и его реализации. Сообщение отредактировано: xds - 16.01.2006 4:09 -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 21:29 |