Вопрос, который вызвал трудности

Дано натуральное число. Требуется разделить запятыми тройки его цифр (считая справа). Вводится одно натуральное число, не превышающее 10^100. Вывести то же число, разделяя тройки цифр запятыми.

Ответ экспертов Учись.Ru

Чтобы дать полноценный ответ, был привлечён специалист, который хорошо разбирается в теме «Информатика». Ваш вопрос звучал так:

Дано натуральное число. Требуется разделить запятыми тройки его цифр (считая справа). Вводится одно натуральное число, не превышающее 10^100. Вывести то же число, разделяя тройки цифр запятыми.

После обсуждения с другими специалистами сервиса мы пришли к выводу, что правильный ответ на ваш вопрос будет звучать следующим образом:

// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString(' >');
  Write('-> ');
  var n:=s.Length;
  if n<4 then Writeln(s)<br>  else
    while true do begin
      var p:=n mod 3; p:=p=0?3:p;
      Write(s[:p+1],',');
      s:=s[p+1:];
      n:=s.Length;
      if n=3 then begin Writeln(s); Exit end
      end
end.

Примеры
 > 1231423454123112313211
-> 1,231,423,454,123,112,313,211

 > 123456
-> 123,456

 > 13
-> 13

Var s: string;
    i: integer;
begin
  write('число: ');  readln(s);
  i:=length(s)-2;
  repeat
    insert(',',s,i);
    i:=i-3;
  until i<3;<br>  writeln('новое число: ',s);
end.

число: 123456789654321987
новое число: 123,456,789,654,321,987