program NextNumberWithSameSumOfDigits; function SumOfDigits(num: integer): integer; var sum, digit: integer; begin sum := 0; while num > 0 do begin digit := num mod 10; sum := sum + digit; num := num div 10; end; SumOfDigits := sum; end; var number, currentNumber, sum, nextNumber: integer; begin writeln('Введите натуральное число:'); readln(number); sum := SumOfDigits(number); currentNumber := number + 1; while true do begin if SumOfDigits(currentNumber) = sum then begin nextNumber := currentNumber; break; end; currentNumber := currentNumber + 1; end; writeln('Первое число с той же суммой цифр после ', number, ' равно ', nextNumber); end.
Примечание: программа будет выполняться до тех пор, пока не будет найдено число с той же суммой цифр, что и введенное пользователем число.
function SumOfDigits(num: integer): integer;
var
sum, digit: integer;
begin
sum := 0;
while num > 0 do
begin
digit := num mod 10;
sum := sum + digit;
num := num div 10;
end;
SumOfDigits := sum;
end;
var
number, currentNumber, sum, nextNumber: integer;
begin
writeln('Введите натуральное число:');
readln(number);
sum := SumOfDigits(number);
currentNumber := number + 1;
while true do
begin
if SumOfDigits(currentNumber) = sum then
begin
nextNumber := currentNumber;
break;
end;
currentNumber := currentNumber + 1;
end;
writeln('Первое число с той же суммой цифр после ', number, ' равно ', nextNumber);
end.
Примечание: программа будет выполняться до тех пор, пока не будет найдено число с той же суммой цифр, что и введенное пользователем число.