Найти остаток от деления N на K - Pascal ABC

Формулировка задачи:

Добрый вечер. Подскажите, пожалуйста. Заданы два числа: N и K. Необходимо найти остаток от деления N на K. Входные данные Входной файл INPUT.TXT содержит два целых числа: N и K (1 <= N <= 10100, 1 <= K <= 109). Выходные данные В выходной файл OUTPUT.TXT выведите остаток от деления N на K. Примеры № INPUT.TXT OUTPUT.TXT 1 239 16 15 2 4638746747645731289347483927 6784789 1001783 Добавлено через 1 минуту Вот что у меня есть. Но она по времени не проходит на сайте. Как оптимизировать?
uses crt;
var m,ch:array[1..1000] of byte;{делимое и частное как массив цифр}
    os:integer;{остаток}
    b,n,n1,i:integer;
    x:longint;
begin
write('Количество разрядов в делимом n=');
readln(n);
writeln('Введите делимое по 1 цифре');
for i:=1 to n do
readln(m[i]);
clrscr;
writeln('Делимое');
for i:=1 to n do
write(m[i]);
writeln;
write('Введите делитель b=');
readln(b);
x:=0;
i:=0;
while x<b do
 begin
  i:=i+1;
  x:=x*10+m[i];
 end;
n1:=1;
ch[n1]:=x div b;
os:=x mod b;
if i<n then
repeat
i:=i+1;
x:=os*10+m[i];
n1:=n1+1;
ch[n1]:=x div b;
os:=x mod b;
until(i=n);
write('ch=');
for i:=1 to n1 do write(ch[i]);
writeln;
writeln('os=',os);
readln
end.
Добавлено через 53 секунды И вот как бы совет. Но я не сильна в этом...
Алгоритм, реализующий данную задачу может быть записан в следующем виде:
 
  const maxsize=101;
  int a[maxsize], b;
  int64 x=0;
 
  readlong(a);
  read(b);
  
  for i=a[0]..1
    x = (x*10+a[i]) mod b;
 
  write(x);

Код к задаче: «Найти остаток от деления N на K - Pascal ABC»

textual
s:= n mod k;
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

14   голосов, оценка 4.214 из 5


СДЕЛАЙТЕ РЕПОСТ