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 יחיד.

lock icon+17 בדיקות נסתרות בשליחה

challenge icon

שאלת המשך

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

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

מקרה 1

מקרה 2

מקרה 3

קלט

n = 16

צפוי

true