Предмет: Информатика, автор: nonimazera

J3. Поменять значение бита

Ограничение времени 1 секунда

Ограничение памяти 64Mb

Ввод стандартный ввод или input.txt

Вывод стандартный вывод или output.txt

Заданы два числа

a

и

n

. Вывести число, которое совпадает с

a

во всех битах, кроме

n

-го, а в

n

-м бите отличается. В данной задаче биты нумеруются с единицы.

Формат ввода

Входные данные содержат два целых числа

a

и

n

(

0



a



1

0

1

8

,

1



b



3

2

).

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

Выведите одно число — ответ к задаче.

Приложения:

nonimazera: тут заново недочет
nonimazera: тот же самый что и в прошлом
nonimazera: задании
nonimazera: а именно сначала пишется про n а потом в формате ввода b

Ответы

Автор ответа: LymarIvan
2

#include <iostream>

using namespace std;

int main(){

   long long a, answer=0, power_of_2=1;

   int n, bits[64]={0}, i=0;

   cin>>a>>n;

   while(a!=0){

       if(a%2==0){

           bits[i]=0;

           a/=2;

       }

       else {

           bits[i]=1;

         a=(a-1)/2;

       }

       i++;

   }

   bits[n-1]=1-bits[n-1];

   for(int j=0; j<i; j++) {

       if (bits[j] == 1)

           answer += power_of_2;

       power_of_2 *= 2;

   }

   cout<<answer;

}


nonimazera: спасибо
nonimazera: тут ошибка
nonimazera: 268193483524125978 13
nonimazera: если ввести это в консоль то отобразиться ошибка
nonimazera: пж исправь
Похожие вопросы
Предмет: Қазақ тiлi, автор: Вероника141002