<prompt> Tunacheza Mchezo wa Nadhani. Mchezo ni kama ifuatavyo:Ninachagua nambari kutoka 1 hadi n. Lazima ufikirie ni nambari gani niliyochagua.Kila wakati unapokisia vibaya, nitakuambia ikiwa nambari niliyochagua ni kubwa au ndogo kuliko nadhani yako.Unaita API iliyofafanuliwa awali int guessint num, ambayo inarudisha matokeo matatu yanayowezekana: -1: Nambari yako ni kubwa kuliko nambari niliyochagua yaani num pick. 1: Nambari yako ni ndogo kuliko nambari niliyochagua yaani num pick. 0: nadhani yako ni sawa na nambari niliyochagua yaani num pick.Rudisha _nambari niliyochagua_.Mfano wa 1:Ingizo: n 10, chagua 6Pato: 6Mfano wa 2:Ingizo: n 1, chagua 1Pato: 1Mfano wa 3:Ingizo: n 2, chagua 1Pato: 1Vikwazo: 1 n 231 - 1 1 chagua n  <response>: chatudef guessNumbern: chini, juu 1, n wakati chini juu: katikati chini juu - chini 2 matokeo nadhani katikati ikiwa matokeo 0: kurudi katikati matokeo ya elif 0: juu katikati - 1 kwingine: chini katikati 1 kurudi -1maelezoAlgorithm hutumia utafutaji wa binary ili kupata nambari sahihi. Wazo ni kuondoa hatua kwa hatua nusu ya chaguzi zilizobaki kwa kila nadhani:1. Anzisha viashiria viwili, chini na juu, hadi 1 na n.2. Wakati chini ni chini ya au sawa na juu: 1. Kokotoa thamani ya kati katikati kati ya chini na juu. 2. Piga kitendakazi cha nadhani na katikati kama hoja. 3. Ikiwa chaguo za kukokotoa za nadhani zitarudisha 0, nambari imepatikana, kwa hivyo rudisha katikati. 4. Ikiwa chaguo za kukokotoa za nadhani zikirejesha nambari hasi, nambari inayolengwa ni ya chini kuliko katikati, kwa hivyo sasisha juu hadi katikati - 1. 5. Ikiwa chaguo za kukokotoa za nadhani zikirejesha nambari chanya, nambari inayolengwa ni kubwa kuliko katikati, kwa hivyo sasisha chini hadi katikati 1.3. Ikiwa utafutaji haujafaulu, rudisha -1.Chaguo la kukokotoa la kubahatisha limefafanuliwa awali na halijaonyeshwa kwenye msimbo ulio hapo juu. 