Menu
CoddyTech

Least Common Multiple

מקבלים שני מספרים שלמים חיוביים a ו-b. החזירו את הכפולה המשותפת הקטנה ביותר שלהם: המספר השלם החיובי הקטן ביותר שגם a וגם b מחלקים ללא שארית.

לדוגמה, הכפולות של 6 הן 6, 12, 18, 24 וכן הלאה, הכפולות של 8 הן 8, 16, 24 וכן הלאה, והמספר הראשון שמופיע בשתי הרשימות הוא 24.

פונקציה

lcm(a: integer, b: integer) → integer
ainteger
המספר השלם החיובי הראשון
binteger
המספר השלם החיובי השני
מחזירהinteger
המספר השלם החיובי הקטן ביותר שהוא כפולה של a ושל b

אילוצים

  • 1 ≤ a ≤ 106
  • 1 ≤ b ≤ 106
  • התשובה מתאימה למספר שלם חתום בן 32 סיביות: lcm(a, b) ≤ 231-1. ייתכן שהמכפלה a × b לא.

דוגמאות

קלט
a = 4b = 6
פלט
12
הסבר
הכפולות של 6 מתחילות ב־6, 12, 18; הכפולות של 4 מתחילות ב־4, 8, 12. המספר הראשון שמופיע בשתי הרשימות הוא 12.

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

challenge icon

שאלת המשך

האם תוכל למצוא את המחלק המשותף הגדול ביותר בלי להשתמש כלל בחילוק או בשארית, אלא רק בחיסור ובחלוקה בחצי?

איפוס הקוד
def lcm(a, b):
    # כתבו כאן קוד
מקרי בדיקה

מקרה 1

מקרה 2

מקרה 3

קלט

a = 4
b = 6

צפוי

12