tatiana2017D
11.08.2020 16:54

Питон Удалить все четные цифры в числе

Входные данные

5678

Выходные данные

57​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
amaii
07.09.2022 21:09

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

short int year[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

int month = 0, day = 0, daysUntilNewYear = 0;

while (month == 0)

{

 cout << "Введите месяц: ";

 cin >> month;

 if (month < 1 || month > 12)

 {

  month = 0;

  cout << "В году лишь 12 месяцев, повторите ввод" << endl;

 }

}

while (day == 0)

{

 cout << "Введите день: ";

 cin >> day;

 if (day > year[month - 1] || day < 1)

 {

  day = 0;

  cout << "В выбранном месяце " << year[month - 1] << " дней, повторите ввод" << endl;

 }

}

for (int i = month - 1; i < 12; i++)

{

 daysUntilNewYear += year[i];

}

daysUntilNewYear -= day - 1;

cout << "До Нового Года осталось " << daysUntilNewYear << " дней"<< endl;

system("pause");

return 0;

}

Если через case делать, то будет больше кода и он будет менее понятен - смысла в этом нет, поэтому сделал через while.

0,0(0 оценок)
Ответ:
msveronika044
02.04.2021 07:35
2 → 10

0⁶1⁵1⁴1³0²1¹1⁰₂ = 0 · 2⁶ + 1 · 2⁵ + 1 · 2⁴ + 1 · 2³ + 0 · 2² + 1 · 2¹ + 1 · 2⁰ = 0 + 32 + 16 + 8 + 0 + 2 + 1 = 59₁₀

10 → 2

59 / 2 = 29 (1), где число в скобках - это остаток

29 / 2 = 14 (1)

14 / 2 = 7 (0)

7 / 2 = 3 (1)

3 / 2 = 1 (1)

1 / 2 = 1 (1), нельзя поделить 1 на 2 без получения дробной части, поэтому в остатке остается та единица, которую мы делили на 2

Снизу вверх восстанавливаем цепочку двоичного кода:

111011₂

Объясняю, почему мы не получили нолик вначале.. Нолик добавляется в запись в основном, чтобы дополнить двоичный код до 8 бит, но в твоем случае это 7 бит. Это ни на что не влияет.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота