در راب بانک هک یک عدد باید بین 0 تا X پیدا کنید که در بازی راهنمایی هم وجود دارد که اگر عدد بزنید و بگوید Low یعنی عدد شما باید کمتر از مقدار وارد شده باشد و اگر عدد بزنید و بگوید High یعنی عدد شما باید بیشتر از مقدار وارد شده باشد . این را ما در جست و جوی دودویی در آرایه ها داریم اون هایی که درس ساختمان داده خوندن می فهمن چی می گم و یک سری فرمول ها در این مورد است که می توانید در اینترنت ببینید با استفاده از آن ها یک برنامه ی پایتون نوشتم :
def find_number(low, high):
"""
Finds a number between low and high using binary search.
Args:
low: The lower bound of the search range.
high: The upper bound of the search range.
Returns:
The found number.
"""
while low <= high:
mid = (low + high) // 2
guess = input(f"Is the number {mid}? (Low/High/Correct): ")
if guess == "Low":
high = mid - 1
elif guess == "High":
low = mid + 1
else:
return mid
return None # Number not found
# Example usage:
result = find_number(0, 500000)
if result:
print(f"The number is {result}")
else:
print("Could not find the number.")
نکته : در اینجا من عدد ی بین 0 تا 500000 را می خواهم پیدا کنم ولی شما می توانید قسمت find_number را بر اساس رنج عدد مشخص شده خود بزنید .
این کد را در این لینک بزنید و اجرا کنید هر بار یک عدد می آید آن را در قسمت هک گوشی وارد کنید و مقدار بازگشتی Low و High را در قسمت روبرو دقیق بنویسید یعنی بدون خط فاصله و غلط املایی . همین کار را چندین بار انجام دهید تا بالاخره به جواب برسید.
فیلم آموزش : آموزش هک کردن راب بانک با استفاده از سیستم جست و جوی دودویی با پایتون
لایک فراموش نشه تشکر .