А переведём в двоичную АВС,1А_16=1010 1011 1100, 0001 1010_2 каждая цифра шестнадцати ручного представления становится четвёркой цифр в двоичном виде. теперь для перевода в восьмисотых систему будем отсекать по три бита от запятой, влево, и это будет целая часть, и потом вправо, это станет дробной частью =101 010 111 100, 000 110 100_2= справа получились только два бита, и их надо дополнить нулём =5274,064_8 б из восьмеричной переведём в двоичную 123,56_8=001 010 011, 101 110_2 переформатирование двоичное число по 4 бита в группе, при необходимости дополняя слева и справа недостающими нулями =0 0101 0011, 1011 1000_2= и заменим каждую четвёрку соответствующей шестнадцати яичной цифрой = 53,В8_16
Ну, нужно сравнить A+B и C стороны. Если A+B<=C(для каждой стороны), то треугольник не существует. Если A=B=C - равносторонний. Если A=B или A=C или B=C - равнобедренный. псевдокод bool Triangle(int &a, int &b, int &c) { return ((a + b > c) && (b + c > a) && (c + a > b)); } ... int Type(int a, int b, int c) { if(a == b == c) { return 0; } else { if(a==b || c == b || a == c) { return 1; } return 2; } } int main() { ... if(Triangle(a, b, c)) { cout<<(Type(a, b, c) == 0) ? "равносторонний" : (Type(a, b, c) == 1) ? "равнобедренный" : "разносторонний"; } else { cout<<"Это не треугольник"; } ... return 0; }
переведём в двоичную
АВС,1А_16=1010 1011 1100, 0001 1010_2
каждая цифра шестнадцати ручного представления становится четвёркой цифр в двоичном виде.
теперь для перевода в восьмисотых систему будем отсекать по три бита от запятой, влево, и это будет целая часть, и потом вправо, это станет дробной частью
=101 010 111 100, 000 110 100_2=
справа получились только два бита, и их надо дополнить нулём
=5274,064_8
б
из восьмеричной переведём в двоичную
123,56_8=001 010 011, 101 110_2
переформатирование двоичное число по 4 бита в группе, при необходимости дополняя слева и справа недостающими нулями
=0 0101 0011, 1011 1000_2=
и заменим каждую четвёрку соответствующей шестнадцати яичной цифрой
= 53,В8_16
псевдокод
bool Triangle(int &a, int &b, int &c)
{
return ((a + b > c) && (b + c > a) && (c + a > b));
}
...
int Type(int a, int b, int c)
{
if(a == b == c) {
return 0;
} else {
if(a==b || c == b || a == c) {
return 1;
}
return 2;
}
}
int main()
{
...
if(Triangle(a, b, c)) {
cout<<(Type(a, b, c) == 0) ? "равносторонний" : (Type(a, b, c) == 1) ? "равнобедренный" : "разносторонний";
} else {
cout<<"Это не треугольник";
}
...
return 0;
}