From 55fc7eb3bba83f4084b2f897c61d0280a5f9c097 Mon Sep 17 00:00:00 2001 From: angeld55 Date: Sat, 2 Oct 2021 17:44:35 +0300 Subject: new --- Sem. 05/Task 3.cpp | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 Sem. 05/Task 3.cpp (limited to 'Sem. 05/Task 3.cpp') diff --git a/Sem. 05/Task 3.cpp b/Sem. 05/Task 3.cpp deleted file mode 100644 index 6723ee2..0000000 --- a/Sem. 05/Task 3.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include -using namespace std; - - -//Алгоритъмът за събиране с 1 в двоичен запис: -//От дясно на ляво - правим всички 1-ци на 0, докато не срещнем първата 0. -//Първата 0 я правим на 1. - -// 101001111 + 1 -// 101010000 -int main() -{ - unsigned int n; - cin >> n; - - int mask = 1; //Най-десният бит на маската е 1-ца. Всички други са 0-ли. - - - while ((n & mask) > 0) //Проверяваме дали текущия бит е 1-ца. (при първото влизане, проверяваме най-десния) - { - n ^= mask; // Правим го на 0 ( n = n ^ mask) - mask <<= 1; // Отместваме маската, за да проверим бит-а в ляво. (mask = mask << 1) - } - - //Открили сме първата 0. 1-цата е на точната позиция в маската. - n |= mask; // Правим на 1-цa (n = n | mask) -} \ No newline at end of file -- cgit v1.3.1-23-gd82d