Var a,b,c:real; F:byte; begin Write('Введите длины сторон треугольника: '); Readln(a,b,c); if (a<b+c) and (b<a+c) and (c<a+b) and (a>0) and (b>0) and (c>0) then F:=1 else F:=0; if F=1 then Writeln('Треугольник можно построить') else Writeln('Треугольник построить нельзя') end.
Тестовые решения: Введите длины сторон треугольника: 3 4 5 Треугольник можно построить
Введите длины сторон треугольника: 1 1 1 Треугольник можно построить
Введите длины сторон треугольника: 0 4 5 Треугольник построить нельзя
Введите длины сторон треугольника: -3 6 5 Треугольник построить нельзя
Введите длины сторон треугольника: 2 1 8 Треугольник построить нельзя
Решать на самом деле можно несколькими , я лично привык разбивать на степени двойки число.
113 = 64 + 32 + 16 + 1 =
, окей, на степени разложили, теперь превращаем число в двоичную систему.
У нас в числе будет 7 цифр, потому что степени идут от 0 до 6, если степень двойки есть в сумме - ставим единичку, если нет - нолик.
Получаем:
1110001
Теперь переводим из двоичную в десятичную, тут проще.
Получаем:
13