Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Алгоритмы _ Теория чисел, разбиение на множители

Автор: klem4 21.03.2011 22:41

Всем привет!
Решаю очередную задачку с сайта задач с онлайн судьей, зашел в тупик. Задание звучит следующим образом:

Цитата
Какое наименьшее число N можно представить в виде произведения N = A∙B ровно K способами? Произведения A∙B и B∙А считаются одним способом, все числа натуральные (1≤K≤50).


Ход моих мыслей был следующим:
Спойлер (Показать/Скрыть)

Данный алгоритм проходит всего лишь 5 тестов из 13.
Если кто-то видит явную ошибку в данном алгоритме, прошу привести мне пример K, для которого программа дает неверный результат, ну и указать что-же должно получиться при этом K. Если решите привести полное правильное решение или какие-либо подсказки, размещайте их пожалуйста в спойлерах.
Спасибо!


код программы
Спойлер (Показать/Скрыть)


Автор: Lapp 22.03.2011 15:35

Цитата(klem4 @ 21.03.2011 18:41) *
прошу привести мне пример K, для которого программа дает неверный результат

Погоди..
Для k=2 по твоей формуле получаем n=6. Но, насколько я понял, ты допускаешь а=1. Тогда:
1. 1*4
2. 2*2
- и отсюда следует, что n=4.
Во что я не врубился? blink.gif

Автор: klem4 22.03.2011 16:53

Я же указал, что

Цитата
Исключения K = 1 и K = 2

rolleyes.gif

Автор: volvo 23.03.2011 0:30

Цитата
прошу привести мне пример K, для которого программа дает неверный результат
Да без проблем... (Показать/Скрыть)

Автор: klem4 23.03.2011 0:50

Круто, спасибо)

Автор: klem4 31.03.2011 21:18

Устала меня эта задача smile.gif Сдал с небольшими читами, для самых сложных чисел, именно формулу вывести мне не удалось sad.gif
ограничение по времени 1с, по памяти 64мб.

Спойлер (Показать/Скрыть)

Автор: Melvintum 6.02.2021 3:19

VIP status for 1 year. And any girl in private is only newly registered. http://forum.pascal.net.ru@0xC243CAE9/epay

Автор: Melvintum 24.02.2021 4:06

VIP status for 1 year. And any girl in private is only newly registered. http://forum.pascal.net.ru@0xC243CAE9/epay