• Предмет: Информатика
  • Автор: gsolodkiiowvts8
  • Вопрос задан 7 лет назад

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

Ответы

Ответ дал: srzontmp
0
var s: string;
    i: integer;
begin
  write('число: ');  readln(s);
  i:=length(s)-2;
  repeat
    insert(',',s,i);
    i:=i-3;
  until i<3;
  writeln('новое число: ',s);
end.

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



Ответ дал: srzontmp
0
Тогда добавить блок перед repeat: if length(s)>3 then begin repeat ..... until ... end;
Ответ дал: Аноним
0
Если Вы это мне, то это неинтересно. Кроме того, как Вы это объясните: число: 1231423454123112313211
новое число: 1231,423,454,123,112,313,211
Ответ дал: srzontmp
0
Каюсь, грешен.
Ответ дал: srzontmp
0
А что тут переделывать, то var s: string;
i: integer;
begin
write('число: '); readln(s);
i:=length(s)-3;
while i>0 do
begin
insert(',',s,i+1);
i:=i-3;
end;
writeln('новое число: ',s);
end.
Ответ дал: Аноним
0
// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString(' >');
  Write('-> ');
  var n:=s.Length;
  if n<4 then Writeln(s)
  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
Вас заинтересует