Двоичный код имеет одноразрядное представление в задаче только при 0 и еще остается незначащий ноль, т.е число 0 будет иметь двоичный код 00.
Получается:
Д-00
Х-01
Р-10
О-11
В-100
Может появиться вопрос, почему В имеет двоичный код 100, а не 110, к примеру, или не 101
Алфавит(в этой задаче) состоит из 5 букв(N=5)
N=2^i
i=3, т.е на каждую букву по 3 символа
Д-000
Х-001
Р-010
О-011
В-100
нули перед кодом роли не играют(тоже самое в десятичной системе, число 5 можно записать как 05 или 005 и тд.), следовательно, их можно просто отбросить(за исключением 0, тк есть условие об одноразрядном представлении)
ХОРОВОД=011 110 111 001 100
Если код такого вида:
010 010 001 100 100
то
Д-100=4(в дес.с)
Х-01=1(в дес.с)
Р-10=2(в дес.с)
О-00=0(в дес.с)
В-11=3(в дес.с)
Однако в условии сказано, что буквам Д,Х,Р,О,В присваиваются дв.коды чисел 0,1,2,3,4 соответственно :)
Пусть a,b,c - стороны треугольника (и их длины). Условие существование треугольника: Пусть а - наибольшая из сторон, тогда против нее будет лежать наибольший угол, который можно определить по теореме косинусов:
Текст программы приводится ниже. var a,b,c,t,cosA:real; begin Write('Введите длины сторон треугольника: '); Readln(a,b,c); if (a<b+c) and (b<a+c) and (c<a+b) then begin if a>b then begin if a<c then begin t:=a; a:=c; c:=t end end else if b>c then begin t:=a; a:=b; b:=t end else begin t:=a; a:=c; c:=t end; cosA:=(sqr(c)+sqr(b)-sqr(a))/(2*b*c); if cosA=0 then Writeln('Треугольник прямоугольный') else if cosA<0 then Writeln('Треугольник тупоугольный') else Writeln('Треугольник остроугольный') end else Writeln('Треугольник построить нельзя') end.
Тестовое решение: Введите длины сторон треугольника: 4 6.1 3.7 Треугольник тупоугольный
Двоичный код имеет одноразрядное представление в задаче только при 0 и еще остается незначащий ноль, т.е число 0 будет иметь двоичный код 00.
Получается:
Д-00
Х-01
Р-10
О-11
В-100
Может появиться вопрос, почему В имеет двоичный код 100, а не 110, к примеру, или не 101
Алфавит(в этой задаче) состоит из 5 букв(N=5)
N=2^i
i=3, т.е на каждую букву по 3 символа
Д-000
Х-001
Р-010
О-011
В-100
нули перед кодом роли не играют(тоже самое в десятичной системе, число 5 можно записать как 05 или 005 и тд.), следовательно, их можно просто отбросить(за исключением 0, тк есть условие об одноразрядном представлении)
ХОРОВОД=011 110 111 001 100
Если код такого вида:
010 010 001 100 100
то
Д-100=4(в дес.с)
Х-01=1(в дес.с)
Р-10=2(в дес.с)
О-00=0(в дес.с)
В-11=3(в дес.с)
Однако в условии сказано, что буквам Д,Х,Р,О,В присваиваются дв.коды чисел 0,1,2,3,4 соответственно :)