Задача 1.181 / Програмиране++=Алгоритми
Здравейте!
Вместо да ходя на море :) се опитвам да реша следната задача:
1.181: Да се намери минималното n, за което първите девет цифри на числото 2 на степен n са 123454321.
Ето моя код: http://fdos.free.bg/sklad/1_181.c
Ето резултати от изпълнение:
при първи цифри:
123 ( n = 90 ) < 1s
1234 ( n = 1545 ) < 1s
12345 ( n = 34555 ) ~ 2s
123454 ( n = 176109 ) ~ 10s
1234543 ( n = 176109 ) ~ 10s
12345432 - изпълнява се повече от 50 мин и продължава.
Искам да попитам има ли по-рационално решение от това, което използвам като алгоритъм?
И дали сте решавали тази задачи и какъв резултат сте получили
Благодаря, предварително!
Благодаря!
Много полезен съвет, но в този случай не мога да го използвам защото при намиране на първи цифри 1234543, n = 176109, което е число от 53014 цифри.Това число не се побира в който и да е тип за С, затова използвам масив.
Може би тази задача има решение, може би е "мотичка", която авторите са поставили за забавление, но най-вероятно нямам достатъчно изчислителна мощ на компютъра и търпение:( Последния тест, който направих бе до n = 1005000, но решение не бе намерено. Оставих компютъра да работи цяла нощ, за да превърти всички n!
Програмата може да се оптимизира, като 123454321 се постави в масив и се сравняват последните 9 елемента. Ако някой е получил решението моля, да го сподели!
Поздрави!