כיצד ליישם GCD בפייתון?



מאמר זה יציג בפניכם דרכים שונות למצוא GCD בפייתון ואחריו הדגמה פרוגרמטית מפורטת

בבית הספר ובמכללה, כולנו למדנו את יסודות המתמטיקה. בין כל המושגים המורכבים של טריגונומטריה וחשבונות, מושג אחד המשמש לרוב בתכנות הוא זה של ה- GCD או המחלק המשותף הגדול ביותר. בדומה לכל שפות התכנות, גם תומך ביצירת קוד אשר יוכל למצוא את ה- GCD של שני מספרים שניתנו על ידי המשתמש ובמאמר זה נלמד כיצד לעשות בדיוק את זה. בואו נראה כיצד ליישם GCD בפייתון,

אז בואו נתחיל,





מה זה GCD?

GCD הוא הקיצור ל- Greatest Common Divisor שהוא משוואה מתמטית לאיתור המספר הגדול ביותר שיכול לחלק את שני המספרים שניתנו על ידי המשתמש. לפעמים משוואה זו מכונה גם הגורם המשותף הגדול ביותר. לדוגמא, הגורם המשותף הגדול ביותר למספרים 20 ו -15 הוא 5, מכיוון שניתן לחלק את שני המספרים הללו ב- 5. מושג זה ניתן בקלות להרחיב גם לקבוצה של יותר מ -2 מספרים, כאשר ה- GCD יהיה המספר המחלק את כל המספרים שנתנו המשתמש.

למושג GCD יש מספר רב של יישומים בתורת המספרים, במיוחד זו של טכנולוגיית הצפנה שהיא RSA וכן חשבון מודולרי. לפעמים משתמשים בו גם לפשט שברים שנמצאים במשוואה.



עכשיו שאתה מכיר את הרעיון הבסיסי של GCD, בוא נראה כיצד נוכל לקודד תוכנית בפייתון כדי לבצע אותה.

GCD בפייתון

על מנת לחשב GCD בפייתון עלינו להשתמש בפונקציית המתמטיקה המובנית בספריית פייתון. הבה נבחן כמה דוגמאות כדי להבין זאת טוב יותר.

בואו נראה כיצד למצוא GCD בפייתון באמצעות רקורסיה



GCD באמצעות רקורסיות

# קוד פייתון כדי להדגים שיטה # נאיבית לחישוב gcd (רקורסיה) def hcfnaive (a, b): if (b == 0): להחזיר אחר: להחזיר hcfnaive (b, a% b) a = 60 b = 48 # הדפסות 12 הדפסה ('ה- gcd של 60 ו- 48 הוא:', end = '') הדפס (hcfnaive (60,48))

כאשר התוכנית לעיל מופעלת, הפלט ייראה בערך כך.

ה- gcd של 60 ו- 48 הוא: 12

אנחנו יכולים גם לאסוף GCD באמצעות לולאות,

GCD באמצעות לולאות

# קוד פייתון כדי להדגים שיטה # נאיבית לחישוב gcd (לולאות) def computeGCD (x, y): אם x> y: קטן = y אחר: קטן = x עבור i בטווח (1, קטן + 1): אם (( x% i == 0) ו- (y% i == 0)): gcd = אני מחזיר gcd a = 60 b = 48 # הדפסים 12 הדפסה ('ה- gcd של 60 ו- 48 הוא:', end = '') הדפס (computeGCD (60,48))

כאשר התוכנית לעיל מבוצעת, הפלט ייראה כך.

ה- gcd של 60 ו- 48 הוא: 12

הבה נראה את השיטה הבאה,

GCD באמצעות האלגוריתם האוקלידי

ההבדל בין מכשירים למרחבים
# קוד פייתון כדי להדגים שיטה # נאיבית לחישוב gcd (algo אוקלידית) def computeGCD (x, y): בעוד (y): x, y = y, x% y תשואה xa = 60 b = 48 # הדפסים 12 הדפסה (' ה- gcd של 60 ו- 48 הוא: ', end =' ') הדפס (computeGCD (60,48))

התפוקה של התוכנית הנ'ל תהיה,

ה- gcd של 60 ו- 48 הוא: 12

הלאה, להלן השיטה הרביעית לאיתור GCD בפייתון,

GCD באמצעות פונקציה GCD במתמטיקה

לפני שנוכל להשתמש בפונקציה math.gcd () כדי לחשב את ה- GCD של המספרים בפייתון, בואו נסתכל על הפרמטרים השונים שלה.

תחביר: math.gcd (x, y)

פרמטרים

X: הוא המספר השלם הלא שלילי שצריך לחשב את ה- gcd שלו.

Y: הוא המספר השלם הלא שלילי השני שצריך לחשב את ה- gcd שלו.

ערך החזר: פרמטר זה יחזיר ערך תשואה חיובי מוחלט לאחר שהוא מחשב את ה- GCD של שני המספרים שהוזנו על ידי המשתמש.

חריגים: אם במצב מסוים, שני המספרים שהוזנו על ידי המשתמש הם אפס, אז הפונקציה תחזיר אפס ואם הקלט הוא תו, אז הפונקציה תחזיר שגיאה.

בואו נראה את קוד הדוגמה,

מהדר בדיוק בזמן
# קוד פייתון כדי להדגים gcd () # שיטה לחישוב gcd ייבוא ​​מתמטיקה # הדפסים 12 הדפסה ('ה- gcd של 60 ו 48 הוא:', end = '') הדפס (math.gcd (60,48))

התפוקה של התוכנית הנ'ל תהיה,

ה- gcd של 60 ו- 48 הוא: 12

חריגים נפוצים

להלן החריגים הנפוצים ביותר לשימוש בפונקציה זו.

  1. אם אחד מהמספרים שהוזן על ידי המשתמש הוא אפס, הפונקציה תחזיר אפס.
  2. אם אחת מהקלטות היא תו, הפונקציה תחזיר שגיאת סוג.

כדי להבין זאת טוב יותר, עיין בדוגמה הבאה.

# קוד פייתון כדי להדגים gcd () # שיטה לחישוב gcd ייבוא ​​מתמטיקה # הדפסים 12 הדפסה ('ה- gcd של 60 ו 48 הוא:', end = '') הדפס (math.gcd (60,48))

התפוקה של התוכנית הנ'ל תהיה,

ה- gcd של 0 ו- 0 הוא: 0

ה- gcd של a ו- 13 הוא:

בעת הפעלת התוכנית הנ'ל תחזיר גם שגיאת זמן ריצה, שתראה בערך ככה.

Traceback (רוב השיחות האחרונות האחרונות):

קובץ “/home/94493cdfb3c8509146254862d12bcc97.py”, שורה 12, ב

הדפס (math.gcd ('a', 13))

TypeError: לא ניתן לפרש את האובייקט 'str' כמספר שלם

אז זה מביא אותנו לסוף מאמר זה על GCD בפייתון.

כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול לאימונים מקוונים חיים עם תמיכה 24/7 וגישה לכל החיים. יש לך שאלה עבורנו? הזכר אותם במדור התגובות במאמר זה ונחזור אליך.