Другие языки программирования и технологии

Среди двузначных чисел вывести на экран те, сумма цифр которых равна х(0<х<18). Число х вводится с клавиатуры.В паскале!

Program HelloWorld;
Var
left, right, sum, max : Integer;
Begin
ReadLn(sum);
If (sum > 18) Or (sum < 1) Then
WriteLn('Сумма должна быть в диапазоне от 1 до 18')
Else
Begin
If sum > 9 Then
max := 9
Else
max := sum;

For left := 1 To max Do
Begin
right := sum - left;
Write(left);
WriteLn(right);
End;
End;
End.
Максим Смирнов
Максим Смирнов
9 617
Лучший ответ
Язык не совсем паскаль, но с синтаксисом разберёшь

x = read

if x > 9 and x < 100 Then

xString = str(x) // преорбазуем икс в строку, чтобы разделить на десятки и единицы
a = val( left(xStr, 1) ) // левая цифера
b = val( right(xStr,1) ) // правая цифера

if a+b > 0 and a+b < 18 then

write(x)

endif // это который а+б

endif // это который проверяет двузначность

но можно гораздо короче, если всё что выше записать парой строк

read(x)
if x > 9 and x < 100 Then
if val( left(str(x), 1) )+val( right(str(x),1) ) > 0 and val( left(str(x), 1) )+val( right(str(x),1) ) < 18 then

write(x)

endif
endif
&&
<Ubah >
25 526
program byMailQuestions; {For teacher}
var
i,x : integer;
begin
writeln('Введите x');
readln(x);
for i := 10 to 99 do begin
if (i mod 10) + (i div 10) = x then
writeln(i);
end;
readln;
end.

Похожие вопросы