Menu
CoddyTech

Power of Two

נתון לך מספר שלם n. החזר true אם n הוא חזקה של שתיים, כלומר n = 2^k עבור מספר שלם אי־שלילי כלשהו k ≥ 0, ואחרת החזר false. לכן 1, 2, 4 ו־8 נחשבים, ואילו 0, 6 וכל מספר שלילי אינם נחשבים.

פונקציה

isPowerOfTwo(n: integer) → boolean
ninteger
המספר השלם לבדיקה, שעשוי להיות אפס או שלילי
מחזירהboolean
אמת אם n שווה ל־2^k עבור k ≥ 0, אחרת שקר

אילוצים

  • -231 ≤ n ≤ 231-1

דוגמאות

קלט
n = 16
פלט
true
הסבר
16 = 2 × 2 × 2 × 2 = 2^4. בייצוג בינארי הוא 10000, ביט 1 יחיד.
challenge icon

שאלת המשך

בעזרת אותן טריקים של ביטים, האם תוכל לבדוק אם n הוא חזקה של ארבע בלי להשתמש בלולאה?

איפוס הקוד
def isPowerOfTwo(n):
    # כתבו כאן קוד

בדיקה #1

בדיקה #2

בדיקה #3

ארגומנט

n = 16

הפלט הצפוי

true