Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Олимпиадные задачки (http://www.tehnari.ru/f22/t105069/)

Mr Kejik 02.11.2015 00:17

Олимпиадные задачки
 
Вложений: 4
Привет всем, господа, можете подсказать - какими способами можно решить эти задачи?

Олимпиада уже завершена - свои варианты прилагаю.
:beseda:

AlexZir 03.11.2015 09:14

Способом перебора, однако :)))

Николай_С 03.11.2015 12:57

Это он до Покрова будет перебирать циферки в стозначном числе. :)

AlexZir 03.11.2015 12:59

Какой вопрос - такой ответ :)

MagentaTiger 03.11.2015 13:15

Ну посмотрел, в принципе ничего особо сложного, что там внутри архива не смотрел :)

Для первой задачи я бы следующий алгоритм применил:
1. Берем старший разряд, если он меньше 9, то декремент от 9 до значения разряда + 1
2. Заменяем значение разряда на текущее и проверяем делится ли на 3 без остатка, если делится, прерываем цикл и показываем полученное число
3. Если не нашли решения , то переходим к следующему по старшинству разряду, и далее к пункту 2


Остальные лень решать, но в принципе все решаемы не очень сложными методами :)

MagentaTiger 03.11.2015 13:33

А да, так как 100 разрядные числа проверить на деление на 3 в разрядной сетке даже длинного целого не реально, для проверки можно сложить все разряды числа и проверить эту сумму на деление на 3 ...

Vladimir_S 03.11.2015 14:53

Не, ну можно впрячься и это всё прорешать, ничего особо сложного, только вот так ли уж надо? Работы много, времени потребуется куча... К тому же там оговорен Кумир либо Pascal/Delphi, а товарищ пытается штурмовать это дело на СИ.

Mr Kejik 04.11.2015 01:20

Нуу...
Там штук 10 языков было, в том числе и С++, и Java, и PHP.
Первая - задача вообще однострочная (на С++)
Метод перебора применен только в 4-ой задаче

А вообще, я просто совета искал, может кто знает еще пути для решения

Mr Kejik 04.11.2015 01:21

Цитата:

Сообщение от Николай_С (Сообщение 1174843)
Это он до Покрова будет перебирать циферки в стозначном числе. :)

За секунду, даже меньше, вполне справляется :)

Mr Kejik 04.11.2015 01:30

А вообще, если хотите, ради интереса можете попробовать сделать 4-ую задачу через деление именно самого числа для выяснения ответа, а не через деление суммы разрядов. У моего отца очень хорошо получилось написать такое, но на 1С :)


Часовой пояс GMT +4, время: 16:35.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.