Дано натуральное число n > 1. Определить длину периода десятичной записи дроби 1/n. (программа Паскаль)

Даник2254 Даник2254    2   16.04.2019 23:00    6

Ответы
keklolcheburek1243 keklolcheburek1243  16.04.2019 23:00
var r, n, k: integer;
begin
  repeat
    write('n > 0;  n = ');
    readln(n)
  until n > 0;
  while n mod 2 = 0 do n := n div 2; //или while n and 1 = 0 do n := n shr 1;
  while n mod 5 = 0 do n := n div 5;
  k := 0;
  r := 1;
  repeat
    inc(k);
    r := r * 10 mod n
  until r <= 1;
  writeln(k);
  readln
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Другие предметы