Показать сообщение отдельно
Старый 05.11.2015, 20:25   #19 (permalink)
Mr Kejik
Новичок
 
Регистрация: 01.11.2015
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вот мой С++ код, переписанный на Паскаль
Код:
var
	number : string;
	sum, ost, i, err, digit : integer;
	got : boolean;

Begin
	readln(number);
	for i := 1 to length(number) do begin
		Val(number[i], digit, err);
		sum := sum + digit;
	end;
	ost := 3 - (sum mod 3);
	got := false;
	for i := 1 to length(number) do begin
		Val(number[i], digit, err);
		if (digit <= 9-ost) and (not got) then begin
			got := true;
			digit := digit + ost;
			while digit <= 6 do digit := digit + 3;
			write(digit);
		end else begin
			if (i = length(number)) and (not got) then begin
				got := true;
				digit := digit - ost;
				write(digit);
			end else
				write(digit);
		end;
	end;
End.
Mr Kejik вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070