Всё просто каждое получившаеся число поделите на 2. А потом в конце с конча до начала запишите числа. Напиример:110:2 равно55 также 55 делим на 2 и так до конца пока не получится 0 а потом с конца до начала запишите остатки!
Самая простая схема........
Ответ a) 1
((1 < 5) вниз (1 < 3)) вверх ((1 < 2) вниз (1 < 1))
(+ вниз +) вверх (+ вниз -)
+ вверх +
Ответ +, то есть выражение истинно
P.S. вниз и вверх это направление стрелок)
<em>// PascalABC.NET 3.3, сборка 1555 от 21.10.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ReadReal('a=');
var y:real;
if a<0 then y:=-a else y:=-a*a;
Writeln('f(a)=',y)
end.
<u>Примеры</u>
a= 3.7
f(a)=-13.69
a= -1.15
f(a)=1.15
begin
var a:=ReadReal('a=');
var y:real;
if a<-1 then y:=1/Sqr(a)
else if a<2 then y:=a*a
else y:=4;
Writeln('f(a)=',y)
end.
<u>Примеры</u>
a= -2
f(a)=0.25
a= 0.7
f(a)=0.49
a= 3.14
f(a)=4
Решение, который дал другой пользователь, слишком сложное. Я могу предложить альтернативный вариант, который будет гораздо проще в понимании.
Var a,s,s1:integer;
Begin
write('Введите число -> ');
readln(a);
s1:=1;
while a>0 do
begin
s:=s+(a mod 10);
s1:=s1*(a mod 10);
a:=a div 10;
end;
writeln('Сумма цифр числа равна -> ',s);
writeln('Произведение цифр числа равно -> ',s1);
End.