0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 7
|
||||||
1 | ||||||
Определить, является ли число степенью двойки22.02.2018, 11:50. Показов 5136. Ответов 8
Метки нет (Все метки)
Говорят, что плохой программист – это тот, кто считает, что в одном килобайте 1000 байт, а хороший программист – это тот, кто полагает, что в одном километре 1024 метра.
Многим эта шутка понятна, так как все знают, что в процессах, связанных с информатикой и компьютерной техникой, фигурирует множество значений, выражаемых степенью двойки, то есть чисел вида 2^K, где K – некоторое неотрицательное целое число. Назовем такие числа бинарными. Это такие числа как 2, 4, 8, 16, 32 и т.д. Действительно, когда речь идет о размере памяти или о разрешении экрана монитора, то мы часто наталкиваемся на бинарные числа. Все это связано с принципом хранения информации в памяти ЭВМ. Задано целое число N. Требуется определить, является ли оно бинарным. Входные данные Входной файл INPUT.TXT содержит единственное целое число N, не превосходящее 10000 по абсолютной величине. Выходные данные В выходной файл OUTPUT.TXT выведите YES, если заданное число является бинарным, и NO в противном случае. Помогите найти ошибку в коде:
0
|
22.02.2018, 11:50 | |
Ответы с готовыми решениями:
8
Определить, является ли натуральное число N степенью двойки Определить, является ли число третьей степенью. Как это сделать? Спасибо заранее! Вводится число. Определить, является ли оно степенью двойки. Определить является ли число степенью двух |
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
22.02.2018, 12:44 | 3 | |||||
Попробуйте так.
1
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
22.02.2018, 12:55 | 5 | |||||
Понятия не имею, это к составителям задачи.
Я так понял что здесь бинарные числа это типа -64 -32 -16 -8 -4 -2 0? 2 4 8 16 32 А получают их определением является ли модуль числа степенью 2. Кстати если 0 входит, то нужно
1
|
0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 7
|
||||||
22.02.2018, 13:45 [ТС] | 6 | |||||
Вот ещё одно решение, но паскаль ничего не выводит при вводе числа 1024(ввожу 512, выводит 'YES', ввожу 1023, выводит 'NO', ввожу 1024, не выводит ничего):
0
|
Модератор
9867 / 5235 / 3306
Регистрация: 17.08.2012
Сообщений: 16,006
|
|||||||||||
22.02.2018, 16:51 | 7 | ||||||||||
novi4ock, а зачем? Вам же Puporev написал прекрасное решение...
Если полностью, и точно по заданию, для классического паскаля:
0
|
Супер-модератор
|
|
22.02.2018, 17:07 | 8 |
Ой, не нравится мне приписочка
. Хотя при неотрицательном K значения 2^K всегда положительны, то есть можно было написать просто: "содержит единственное целое число N, не превосходящее 10000"
0
|
Модератор
9867 / 5235 / 3306
Регистрация: 17.08.2012
Сообщений: 16,006
|
|
22.02.2018, 17:15 | 9 |
volvo, ну и что? Это же входные данные. Любое число, не большее нуля, не может являться степенью двойки, и, согласно заданию, в ответ на него будет выведено 'NO'. Не пойму, в чём подвох?
0
|
22.02.2018, 17:15 | |
22.02.2018, 17:15 | |
Помогаю со студенческими работами здесь
9
Является ли число 32768 степенью 2 Является ли число степенью двойки? Вводится число. Напечатать YES, если оно является степенью двойки, NO - ина Определить, является ли число степенью двойки Определить является ли число степенью двойки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |