476. Pelengkap Nombor
Kesukaran: Mudah
Topik: Manipulasi Bit
Pelengkap integer ialah integer yang anda dapat apabila anda membalikkan semua 0 kepada 1 dan semua 1 kepada 0 dalam perwakilan binarinya.
- Sebagai contoh, Integer 5 ialah "101" dalam binari dan pelengkapnya ialah "010" iaitu integer 2.
Diberikan nombor integer, kembalikan pelengkapnya.
Contoh 1:
-
Input: nombor = 5
-
Output: 2
-
Penjelasan: Perwakilan binari 5 ialah 101 (tiada bit sifar pendahuluan), dan pelengkapnya ialah 010. Jadi anda perlu mengeluarkan 2.
Contoh 2:
-
Input: nombor = 1
-
Output: 0
-
Penjelasan: Perwakilan binari 1 ialah 1 (tiada bit sifar pendahuluan), dan pelengkapnya ialah 0. Jadi anda perlu mengeluarkan 0.
Kekangan:
Nota: Soalan ini sama dengan 1009. Pelengkap Integer Asas 10
Penyelesaian:
Kita perlu membalikkan bit perwakilan binari bagi integer tertentu dan mengembalikan integer yang terhasil.
Langkah-langkah untuk menyelesaikan masalah:
- Tukar nombor kepada perwakilan binarinya.
-
Terbalikkan bit (iaitu, tukar 0 kepada 1 dan 1 kepada 0).
-
Tukar rentetan binari terbalik kembali kepada integer.
Mari laksanakan penyelesaian ini dalam PHP: 476. Pelengkap Nombor
Penjelasan:
-
decbin($num): Menukar integer yang diberikan kepada perwakilan rentetan binarinya.
-
Membalikkan bit: Kami melelang melalui rentetan binari dan menyelak setiap bit dengan menyemak sama ada ia adalah 1 atau 0.
-
bindec($flipped): Menukar rentetan binari terbalik kembali kepada integer.
Contoh Larian:
-
Input: 5
- Perwakilan binari: "101"
- Perduaan terbalik: "010"
- Output: 2
-
Input: 1
- Perwakilan binari: "1"
- Perduaan terbalik: "0"
- Output: 0
Penyelesaian ini mengira pelengkap dengan cekap dengan membalikkan bit perwakilan binari nombor yang diberikan.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci . Pelengkap Nombor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn