Задача на Паскале. Вводится четырёхзначное натуральное число. Проверить, является ли оно палиндромом, т. е. числом, которое одинаково читается слева направо и справа налево. Если не является, то вывести ближайшее следующее число-палиндром.
программа находит совершенные числа в диапазоне от 1 до 10000 (совершенное число - натуральное число, равное сумме всех своих собственных делителей)
Program z3; ' - заголовок программы var ' - служебное слово, начинающее раздел описания переменных i,j,s: word; ' - описание переменных i,j,s как числа от 0 до 65535 begin ' - служебное слово, начинающее описание операторов программы for i := 1 to 10000 do begin ' - организация цикла по i от 1 до 10000 s := 0; ' - обнуление переменной s for j:=1 to i div 2 do ' - организация цикла по j от 1 до целая_часть(i:2) if i mod j = 0 then ' - если i делится на j без остатка, s := s+j; ' - то переменную s увеличиваем на значение переменной j if s = i then ' - если значения переменных s и i совпадают write(i,' '); ' - то распечатываем значение переменной i end; ' - конец цикла по i writeln; ' - пустой оператор печати, используется для организации печати с новой строки readln; ' - пустой оператор чтения, используется для организации задержки экрана end. ' - служебное слово, заканчивающее описание операторов программы
PROGRAM PR21; var // блок описания переменных S: real; I, N, J, K, L, M: Integer; begin S:=-l; // задаем начальное значение переменной, в которой будет хранится ответ. -1 потому что программа посчитает билет с номером 000000 for I := 0 to 9 // перебор первой цифры do for J:=0 to 9 // перебор второй цифры do for K:=0 to 9 // третьей do for L:=0 to 9 // четвертой do for M:=0 to 9 // пятой do for N:=0 to 9 // шестой do if I+J + K = L+M + N // проверяем равны ли суммы первых трех и последних трех цифр thenS:=S+ 1; // если равны, то прибавим билет к ответу writeln('Число счастливых билетов = ', S:6:0); // выводим ответ, отведя 6 позиций для числа readln; // нужно, чтобы не закрылось диалоговое окно (хотя в некоторых средах можно обойтись без этого) end.
программа находит совершенные числа в диапазоне от 1 до 10000 (совершенное число - натуральное число, равное сумме всех своих собственных делителей)
Program z3; ' - заголовок программы
var ' - служебное слово, начинающее раздел описания переменных
i,j,s: word; ' - описание переменных i,j,s как числа от 0 до 65535
begin ' - служебное слово, начинающее описание операторов программы
for i := 1 to 10000 do begin ' - организация цикла по i от 1 до 10000
s := 0; ' - обнуление переменной s
for j:=1 to i div 2 do ' - организация цикла по j от 1 до целая_часть(i:2)
if i mod j = 0 then ' - если i делится на j без остатка,
s := s+j; ' - то переменную s увеличиваем на значение переменной j
if s = i then ' - если значения переменных s и i совпадают
write(i,' '); ' - то распечатываем значение переменной i
end; ' - конец цикла по i
writeln; ' - пустой оператор печати, используется для организации печати с новой строки
readln; ' - пустой оператор чтения, используется для организации задержки экрана
end. ' - служебное слово, заканчивающее описание операторов программы
var // блок описания переменных
S: real;
I, N, J, K, L, M: Integer;
begin
S:=-l; // задаем начальное значение переменной, в которой будет хранится ответ. -1 потому что программа посчитает билет с номером 000000
for I := 0 to 9 // перебор первой цифры
do for J:=0 to 9 // перебор второй цифры
do for K:=0 to 9 // третьей
do for L:=0 to 9 // четвертой
do for M:=0 to 9 // пятой
do for N:=0 to 9 // шестой
do
if I+J + K = L+M + N // проверяем равны ли суммы первых трех и последних трех цифр
thenS:=S+ 1; // если равны, то прибавим билет к ответу
writeln('Число счастливых билетов = ', S:6:0); // выводим ответ, отведя 6 позиций для числа
readln; // нужно, чтобы не закрылось диалоговое окно (хотя в некоторых средах можно обойтись без этого)
end.