Помогите плз) Надо написать программу на любом Паскале


Программист на Северном полюсе работал за компьютером в варежках и поэтому мог набирать только 0 и 1, а клавиша 0 запала. Сможет ли он набрать число, состоящее только из единиц и при этом кратное заданному N?


Входные данные

Программе дано число N (1 ≤ N ≤ 10^6).


Выходные данные

Вывести минимальное число, удволетворяющее требованию, или "NO" , если такого числа не существует.


Если что, это 1453 задачка на Информатиксе

Ответы

Ответ дал: DexelGamer
0

Ответ:

Код дан в приложении.

Объяснение:

Поддерживать само число на паскале будет довольно сложно без использования biginteger. Будем поддерживать k - количество единиц в нашем числе, и ans - остаток от деления нашего числа на N. Если он в какой-то момент получился равен нулю, это значит, что мы нашли число. В нем k единиц. Мы будем продолжать поиски 3 * 10⁷ раз. Если так ничего и не нашли - выводим NO.

Приложения:
Ответ дал: contrlc
0

//PascalABC.NET

//В задаче есть ограничение по времени в 1 секунду

//поэтому была использована функция milliseconds

//которая возвращает кол-во миллисекунд с момента

//начала работы программы

var

 N, cur, count: uint64;

begin

 read(N);

 cur := 1;

 count := 0;

 while (cur <> 0) and (milliseconds() / 1000 < 0.78) do

 begin

   cur := (cur * 10 + 1) mod N;  

   count := count + 1;

 end;

 if (cur = 0) then write('1' * (count = 1 ? count : count + 1))

 else write('NO');

end.

Приложения:
Ответ дал: czardurakov
0
ок, щас проверю
Ответ дал: czardurakov
0
да все работает
Ответ дал: czardurakov
0
сори дексель
Ответ дал: czardurakov
0
как перевыбрать лучший ответ?
Ответ дал: DexelGamer
0
А вот никак))
Вас заинтересует