В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
lelikbalelik
lelikbalelik
15.08.2022 12:44 •  Информатика

Решить на С++

У Сергея, как и у любого человека, есть свой «пунктик». Если ему надо поехать на поезде, то

он покупает только «счастливый билет».

Счастливый билет – это такой билет, в номере которого сумма цифр левой и правой

половины совпадает.

Причем, если количество цифр в номере билета нечетное, то центральная цифра

игнорируется.

Раньше Сергей выполнял эти вычисления «в голове», но теперь Вы можете ему

Формат ввода

Большое целое число, состоящее минимум из двух разрядов.

Формат вывода

YES – если число счастливое.

NO – если число несчастливое.

Пример 1

Ввод Вывод

121 YES

Пример 2

Ввод Вывод

12 NO

Показать ответ
Ответ:
Артёмка12097
Артёмка12097
13.02.2020 18:57

#include <iostream>

typedef long long   ll;

using namespace std;

bool ll_is_valid(ll t, ll N, ll x, ll y)

{

return  t / x + (t - x) / y >= N;

}

ll f(ll N, ll x, ll y)

{

   ll R = 1;

   while (!ll_is_valid(R,N,x,y)) R *= 2;

ll L = R / 2;

while(R - L > 1)

{

 ll M   =   (L + R) / 2;

 

 if (!ll_is_valid(M,N,x,y)) {L = M;}

 else {R = M;}

}

return  R;

}

int  main()

{

ll N,x,y;

cin >> N >> x >> y;

if(x > y) swap( x, y );  

cout << f(N, x, y) <<  std::endl;

}

0,0(0 оценок)
Ответ:
dashoostik
dashoostik
25.02.2023 07:57

Для ручного ввода числа:

a = int(input('Введите число: '))

b = bin(a)[2:]

print(b)

if b.count('1')%2 == 0:

 b+='10'

else:

 b+='00'

print(b)

print(int(b, base=2))

Числа, получившиеся в интервале от 16 до 32:

def getNumber(x):

 b = bin(x)[2:]

 print(b)

 if b.count('1')%2 == 0:

   b+='10'

 else:

   b+='00'

 print(b)

 return int(b, base=2)

i=1

k=0

count=0

while k<=32:

 print(i)

 k=getNumber(i)

 print(k)

 print()

 i+=1

 if 16 <= k <= 32: count+=1

print(f'Количество выходных чисел в промежутке от 16 до 32 равно {count}')

ответ: Количество выходных чисел в промежутке от 16 до 32 равно 5

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