Дан ряд четырехзначных натуральных чисел. Из него вычеркивают числа, в которых сумма двух первых цифр равна сумме двух последних. Составить алгоритм и описать его на Паскале, позволяющий по заданному номеру N вывести соответствующее ему число в новой последовательности.
program FindNumber; var N, num, count: integer; function SumDigits(n: integer): integer; var sum, digit: integer; begin sum := 0; while n > 0 do begin digit := n mod 10; sum := sum + digit; n := n div 10; end; SumDigits := sum; end; begin write('Enter the value of N: '); readln(N); num := 1000; count := 0; while count < N do begin num := num + 1; if SumDigits(num div 100) = SumDigits(num mod 100) then continue; count := count + 1; end; writeln('Number ', N, ' in the new sequence is: ', num); end.
При запуске программы пользователю предлагается ввести номер N в новой последовательности. Программа последовательно перебирает все четырехзначные числа, пропуская те, у которых сумма двух первых цифр равна сумме двух последних. Когда программа находит число под номером N, она выводит его на экран.
Алгоритм на Паскале:
program FindNumber;var
N, num, count: integer;
function SumDigits(n: integer): integer;
var
sum, digit: integer;
begin
sum := 0;
while n > 0 do
begin
digit := n mod 10;
sum := sum + digit;
n := n div 10;
end;
SumDigits := sum;
end;
begin
write('Enter the value of N: ');
readln(N);
num := 1000;
count := 0;
while count < N do
begin
num := num + 1;
if SumDigits(num div 100) = SumDigits(num mod 100) then
continue;
count := count + 1;
end;
writeln('Number ', N, ' in the new sequence is: ', num);
end.
При запуске программы пользователю предлагается ввести номер N в новой последовательности. Программа последовательно перебирает все четырехзначные числа, пропуская те, у которых сумма двух первых цифр равна сумме двух последних. Когда программа находит число под номером N, она выводит его на экран.