Да, признаю — поторопился. Не учел ситуации с a<=1. По-моему, правильно так:
Код:
Var
a,b:real;
Begin
Write(' a = '); Readln(a);
Write(' b = '); Readln(b);
if (a<=0) or (b<=0) or ((a=1) and (b<=1)) then Writeln(' No solution')
else
if (a=1) and (b>1) then Writeln(' x - random')
else
if (a<1) then Writeln(' x > ',Ln(b)/Ln(a):0:8)
else Writeln(' x < ',Ln(b)/Ln(a):0:8);
Readln
End.
То, что Вы представили — там чего-то накручено лишнего, к тому же масса ошибок. Ну вот что это такое:
Цитата:
Сообщение от Lolbem
if (a<0) or (b<0)or (a<>1) then
writeln('Решения нет')
|
Т.е. решения нет, если
a<0 или
b<0 (это правильно), но также если...
a отлично от единицы! (?). Ну что за ерунда, ей-Богу! Когда ж, в таком случае, решение есть? Когда
a=1?