Дано натуральное число. требуется разделить запятыми тройки его цифр (считая справа). вводится одно натуральное число, не превышающее 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) 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.
// Внимание! Если программа не работает, обновите версию!
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
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