#include <iostream>
using namespace std;
int main()
{
int number;
cin >> number;
int array[4] = {};
array[0] = number / 1000;
array[1] = number % 1000 / 100;
array[2] = number % 1000 % 100 / 10;
array[3] = number % 10;
int counter;
int check = 0;
for (int i = 0; i < 4; i++)
counter = 0;
for (int j = 0; j < 4; j++)
if (array[i] == array[j])
counter++;
if (counter == 2)
check++;
}
if (check != 0)
cout << 1;
else
cout << 0;
Объяснение:
#include <iostream> // Библиотека ввода-вывода
using namespace std; // Пространство имён
int number; // Переменная для вводимого числа
cin >> number; // Ввод числа
int array[4] = {}; // Массив для хранения цифр числа
array[0] = number / 1000; // Первая цифра
array[1] = number % 1000 / 100; // Вторая цифра
array[2] = number % 1000 % 100 / 10; // Третья цифра
array[3] = number % 10; // Четвертая цифра
int counter; // Переменная для подсчёта одинаковых цифр
int check = 0; // Переменная для проверки на само условие задачи
counter = 0; // Обнуление переменной
if (array[i] == array[j]) // Если цифры равны
counter++; // Увеличиваем на 1
if (counter == 2) // Если количество цифр = 2
check++; // Увеличиваем на 1
if (check != 0) // Если не равно 0
cout << 1; // То выводим 1
else // Иначе
cout << 0; // Выводим 0 (любое значение)
1) 1011001(2) = 1.011.001(2) = 131(8) = 8^2+3*8+1 = 64+24+1 = 89(10)
Чтобы перевести число из 2-ной системы в 8-ную, нужно разбить его на тройки, начиная слева, а потом перевести каждую тройку по таблице:
000=0; 001=1; 010=2; 011=3; 100=4; 101=5; 110=6; 111=7.
1011001(2) = 101.1001(2) = 59(16)
Чтобы перевести число в 16-ную систему, нужно разбить ее на четверки, начиная слева, и перевести по таблице:
0000=0; 0001=1; 0010=2; 0011=3; 0100=4; 0101=5; 0110=6; 0111=7;
1000=8; 1001=9; 1010=A; 1011=B; 1100=C; 1101=D; 1110=E; 1111=F.
Точно также делаем остальные номера.
2) 70431(8) = 111.000.100.011.001(2) = 111.0001.0001.1001(2) = 7119(16) =
= 7*8^4+4*8^2+3*8+1 = 7*4096+4*64+24+1 = 28953(10)
3) 10748(10) = 8192+2048+256+128+64+32+16+8+4 =
= 10100111111100(2) = 10.100.111.111.100(2) = 24774(8) = 10.1001.1111.1100(2) = 29FC(16)
4) 275D(16) = 10.0111.0101.1101(2) = 10.011.101.011.101(2) = 23535(8) =
= 2*16^3+7*16^2+5*16+13 = 2*4096+7*256+80+13 = 10077(10)
#include <iostream>
using namespace std;
int main()
{
int number;
cin >> number;
int array[4] = {};
array[0] = number / 1000;
array[1] = number % 1000 / 100;
array[2] = number % 1000 % 100 / 10;
array[3] = number % 10;
int counter;
int check = 0;
for (int i = 0; i < 4; i++)
{
counter = 0;
for (int j = 0; j < 4; j++)
{
if (array[i] == array[j])
{
counter++;
if (counter == 2)
{
check++;
}
}
}
}
if (check != 0)
{
cout << 1;
}
else
{
cout << 0;
}
}
Объяснение:
#include <iostream> // Библиотека ввода-вывода
using namespace std; // Пространство имён
int main()
{
int number; // Переменная для вводимого числа
cin >> number; // Ввод числа
int array[4] = {}; // Массив для хранения цифр числа
array[0] = number / 1000; // Первая цифра
array[1] = number % 1000 / 100; // Вторая цифра
array[2] = number % 1000 % 100 / 10; // Третья цифра
array[3] = number % 10; // Четвертая цифра
int counter; // Переменная для подсчёта одинаковых цифр
int check = 0; // Переменная для проверки на само условие задачи
for (int i = 0; i < 4; i++)
{
counter = 0; // Обнуление переменной
for (int j = 0; j < 4; j++)
{
if (array[i] == array[j]) // Если цифры равны
{
counter++; // Увеличиваем на 1
if (counter == 2) // Если количество цифр = 2
{
check++; // Увеличиваем на 1
}
}
}
}
if (check != 0) // Если не равно 0
{
cout << 1; // То выводим 1
}
else // Иначе
{
cout << 0; // Выводим 0 (любое значение)
}
}
Объяснение:
1) 1011001(2) = 1.011.001(2) = 131(8) = 8^2+3*8+1 = 64+24+1 = 89(10)
Чтобы перевести число из 2-ной системы в 8-ную, нужно разбить его на тройки, начиная слева, а потом перевести каждую тройку по таблице:
000=0; 001=1; 010=2; 011=3; 100=4; 101=5; 110=6; 111=7.
1011001(2) = 101.1001(2) = 59(16)
Чтобы перевести число в 16-ную систему, нужно разбить ее на четверки, начиная слева, и перевести по таблице:
0000=0; 0001=1; 0010=2; 0011=3; 0100=4; 0101=5; 0110=6; 0111=7;
1000=8; 1001=9; 1010=A; 1011=B; 1100=C; 1101=D; 1110=E; 1111=F.
Точно также делаем остальные номера.
2) 70431(8) = 111.000.100.011.001(2) = 111.0001.0001.1001(2) = 7119(16) =
= 7*8^4+4*8^2+3*8+1 = 7*4096+4*64+24+1 = 28953(10)
3) 10748(10) = 8192+2048+256+128+64+32+16+8+4 =
= 10100111111100(2) = 10.100.111.111.100(2) = 24774(8) = 10.1001.1111.1100(2) = 29FC(16)
4) 275D(16) = 10.0111.0101.1101(2) = 10.011.101.011.101(2) = 23535(8) =
= 2*16^3+7*16^2+5*16+13 = 2*4096+7*256+80+13 = 10077(10)