<prompt> kamilisho ya nambari kamili ni nambari kamili unayopata unapogeuza 0 zote hadi 1 na 1 zote hadi 0 katika uwakilishi wake wa mfumo wa jozi. Kwa mfano, Nambari kamili 5 ni 101 katika mfumo wa jozi na kamilisho yake ni 010 ambayo ni nambari 2 kamili.Kwa kuzingatia num kamili, rudisha _kamilisho yake_.Mfano wa 1:Ingizo: nambari 5Pato: 2Maelezo: Uwakilishi wa binary wa 5 ni 101 hakuna biti sifuri inayoongoza, na ukamilishaji wake ni 010. Kwa hivyo unahitaji kutoa 2.Mfano wa 2:Ingizo: nambari 1Pato: 0Ufafanuzi: Uwakilishi wa binary wa 1 ni 1 hakuna biti sifuri inayoongoza, na ukamilishaji wake ni 0. Kwa hivyo unahitaji kutoa 0.Vikwazo: 1 nambari 231Kumbuka: Swali hili ni sawa na 1009: -msingi-10-jumla  <response>: chatudef find_complementnambari: int - int: urefu_kidogo 0 mask nambari wakati mask 0: mask 1 bit_length 1 zote_zote 1 bit_length - 1 rudisha nambari zote_zotemaelezoKwanza, tunakokotoa idadi ya biti katika uwakilishi jozi ya nambari kamili ya ingizo num. Tunafanya hivi kwa kubadilisha nambari kulia kwa mfululizo operesheni kidogo na kuhesabu marudio hadi nambari iwe 0. Hii inatupa urefu wa uwakilishi wa binary.Mara tu tunapokuwa na urefu, tunaunda bitmask ya urefu sawa na bits zote zilizowekwa kwa 1 kwa mfano, ikiwa urefu ni 3, bitmask itakuwa 111 katika binary. Ili kupata ukamilishaji wa nambari kamili ya ingizo, basi tuna XOR opereta nambari iliyo na barakoa hii yote-1. Operesheni ya XOR inarudi 1 wakati biti za pembejeo ni tofauti na 0 zinapokuwa sawa, kwa hivyo ikiwa tuna 0 kwenye ingizo, tutapata 1 na kinyume chake. Kwa njia hii, tunapata nyongeza ya nambari ya asili.Hatimaye, tunarudisha nambari inayotokana, ambayo ni kamilishana ya nambari kamili ya ingizo num. 