G3. Проверка значения бита Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt Вывод стандартный вывод или output.txt Заданы два числа a и n . Проверить, присутствует ли в записи числа a n –й бит. В данной задаче биты нумеруются с единицы. Формат ввода Входные данные содержат два целых числа a и n (0≤a≤1018, 1≤b≤32). Формат вывода Выведите 1, если в записи числа a присутствует n–й бит, и 0 в противном случае. Пример 1 Ввод Вывод1 6 0 Пример 2 Ввод Вывод1 6 2 Язык с++
Я обнаружил несколько недочетов в условии. Во-первых, вызвало недоумение то, что сначала номер бита обозначен n, тогда как в диапазоне его значений используется уже буква b. Ладно, допустим, обычная опечатка. Во-вторых, для записи максимально возможного числа 10¹⁸ в двоичной системе потребуется 60 цифр, но здесь утверждается, что спросят не дальше 32 бита. Тогда зачем предусматривать столь большие a? В-третьих, только из примеров стало понятно, что биты нумеруются справа налево
Для решения определим 1. Время передачи по высокоскоростному каналу 2. Время передачи по низкоскоростному каналу 3. Время для получения первых 1024 Кб 4. Всё сложим.
Ввод графической информации может быть осуществлён с различных устройств: клавиатуры, мыши, сканера или графического планшета. Каждое из них имеет те или иные достоинства, но основной характеристикой является удобство использования. Клавиатура плохо подходит для построения изображений, так как она изначально предназначена для набора символьной, а не графической информации. Однако применение клавиатуры для ввода графической информации имеет определённые преимущества. С клавиш можно перемещать курсор каждый раз на одну позицию.
#include <iostream>
using namespace std;
int main(){
long long a;
int n, bits[64]={0}, i=0;
cin>>a>>n;
while(a!=0){
if(a%2==0)
a/=2;
else {
bits[i]=1;
a=(a-1)/2;
}
i++;
}
cout<<bits[n-1];
}
Я обнаружил несколько недочетов в условии. Во-первых, вызвало недоумение то, что сначала номер бита обозначен n, тогда как в диапазоне его значений используется уже буква b. Ладно, допустим, обычная опечатка. Во-вторых, для записи максимально возможного числа 10¹⁸ в двоичной системе потребуется 60 цифр, но здесь утверждается, что спросят не дальше 32 бита. Тогда зачем предусматривать столь большие a? В-третьих, только из примеров стало понятно, что биты нумеруются справа налево