Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Realmucho
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 79
#1

Определить, является ли число степенью двойки - C++

24.08.2016, 21:07. Просмотров 870. Ответов 3
Метки нет (Все метки)

По заданному положительному числу n < 2^64 определить, является ли оно степенью двойки. Решение должно иметь сложность O(1).

1 Yes
17 No
1024 Yes


Внимание: 64-битные числа нужно хранить в типе unsigned long long
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2016, 21:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить, является ли число степенью двойки (C++):

Определить, является ли число степенью двойки - C++
Такая проблема: в проге мне нужно задать количество чисел которые я введу (т.е создать массив под них), потом ввести числа и оно должно мне...

Определить, является ли число целой степенью двойки - C++
Задано целое положительное число.Определить, является ли оно целой степенью двойки. Вход 1 16 1028 1024 Выход Yes

Определить, является ли число степенью двойки (циклы) - C++
Вводится число. Определить, является ли оно степенью двойки. ( с помощью цикла) Думала примерно так, но знаю не правильно ...

Определить, является ли данное число степенью двойки - C++
Является ли данное число степенью двойки? Формат входных данных Вводится число. Формат выходных данных Напечатать YES, если оно...

Вводится число. Определить, является ли оно степенью двойки. - C++
Вводится число. Определить, является ли оно степенью двойки. Необходимо использовать Операторы цикла ! Спасибо за внимание!

Определить, является ли заданное число точной степенью двойки - C++
Дано натуральное число N. Вывести слово YES, если число N является точной степенью двойки, или слово NO в противном случае. При решении...

3
Kastaneda
Jesus loves me
Эксперт С++
4755 / 2959 / 243
Регистрация: 12.12.2009
Сообщений: 7,514
Записей в блоге: 2
Завершенные тесты: 1
24.08.2016, 21:25 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
if (n && !(n & (n - 1))) { /* YES */ }
6
Новичок
Модератор
1471 / 936 / 226
Регистрация: 17.07.2012
Сообщений: 4,854
Завершенные тесты: 3
24.08.2016, 23:34 #3
Kastaneda, нуль вроде не положительное число, потому это можно убрать
Цитата Сообщение от Kastaneda Посмотреть сообщение
n &&
0
Kastaneda
Jesus loves me
Эксперт С++
4755 / 2959 / 243
Регистрация: 12.12.2009
Сообщений: 7,514
Записей в блоге: 2
Завершенные тесты: 1
25.08.2016, 05:33 #4
Новичок, но ноль же не степень двойки.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2016, 05:33
Привет! Вот еще темы с ответами:

Является ли число степенью двойки - C++
Дано натуральное число n. Определите, является ли оно степенью числа 2, и выведете слово YES если является,и выведите слово NO если не...

Является ли число степенью двойки - C++
Условие: Входные данные Входной файл INPUT.TXT содержит единственное целое число N, не превосходящее 10000 по абсолютной величине. ...

Является ли число степенью двойки? - C++
Вводится число. Напечатать YES, если оно является степенью двойки, NO - иначе.

Проверить, является ли число степенью двойки - C++
Бьюсь с самого утра все никак. Условия Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru