476. 數字的補數
阿新 • • 發佈:2018-05-10
pow com spa class 進制數 clas with pub 32位
給定一個正整數,輸出它的補數。補數是對該數的二進制表示取反。
註意:
- 給定的整數保證在32位帶符號整數的範圍內。
- 你可以假定二進制數不包含前導零位。
示例 1:
輸入: 5 輸出: 2 解釋: 5的二進制表示為101(沒有前導零位),其補數為010。所以你需要輸出2。
示例 2:
輸入: 1 輸出: 0 解釋: 1的二進制表示為1(沒有前導零位),其補數為0。所以你需要輸出0。
1 static const auto __ = []() 2 { 3 ios::sync_with_stdio(false); 4 cin.tie(nullptr); 5 return nullptr;6 }(); 7 8 class Solution { 9 public: 10 int findComplement(int num) { 11 int sum = 0; 12 int i = 0; 13 while(sum < num) { 14 sum += pow(2,i); 15 i++; 16 } 17 18 return sum - num; 19 } 20 };
476. 數字的補數