שש דרגות של הפרדה

אשמח להבהרה קטנה לגבי התרגיל:

כתבו פונקציה שמקבלת שמות 2 ערכים בוויקיפדיה (X , Y) ומרחק הפרדה מקסימלי N. הפונקציה תבדוק האם ניתן ללחוץ על N קישורים החל מהערך X כדי להגיע לערך Y.

אם N הוא 6, האם המרחק התקין הוא רק 6, או שאם יש קישור כבר בדרגה הראשונה הפונקציה תסיים?

תוקן ל־ N - 1. המרחק התקין עבור N = 6 הוא 5 לחיצות.

כן, אם אפשר בפחות זה טוב.

אבל בדוגמא שנתת היה פחות מ-5 לחיצות (3 לחיצות, 4 ערכים).

N הוא פרמטר הכוונה שהיא שאת יכולה לבדוק עבור כל מרחק שאת מעוניינת האם או מתקיים או לא.

תודה על התגובה, אבל איך זה עונה לי על מה ששאלתי?

הדוגמא היא לא עבור 6 היא עבור פחות לצורך העניין.

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

לדעתי זה צריך להיות שם 4 אבל מה שמשנה זה השורות האלה:

כלומר זה חייב להיות בדיוק?
כי סתם ככה הייתי מבין זה n-1 או פחות

זאת בדיוק הייתה שאלתי. האם יש שם טעות או שאני מפספסת משהו

n משתנה אז הקוד שלך אמור לבדוק עבור כל n - אתה יכול לבדוק דוגמאות עבור n = 3 או עבור n = 6 וכו …
אבל הקוד גנרי עבור כל n.

אבל זה בדיוק השאלה…
נניח יש שני ערכים שהם מקושרים ישירות.
מ- A ניתן להגיע ל-B מיד כי הוא מקושר אליו ישירות, לכן הפונקציה צריכה להחזיר True עבור N=1… אבל השאלה היא האם N=2 זה גם יחזיר TRUE. כי אי אפשר להגיע “בדיוק” על ידי 2 לחיצות מA לB. (לעומת זה אולי ב3 אפשר כי נלך הלוך חזור והצלחנו)

הגעה מערך אחד לאחר מצריכה לחיצה על קישור.
כלומר עבור 2 ערכים יש לך מעבר 1.
עבור 2 לחיצות במצב שאתה מתאר יחזור True כי כל דרך “קצרה” יותר מN נחשבת שהיא עומדת בתנאי. כלומר הפונקציה שלך כבר תחזיר True אחרי לחיצה 1 היא אפילו לא תממש את הלחיצות הנוספות ועדין זה יחשב נכון.

כמו כן, הנקודת מוצא היא שאתה הולך רק בכיוון אחד ולכן אין מצבים של “הלוך חזור” כמו שאתה מתאר.

טוב, לא הכי הבנתי כי אני עדיין טוען שי פה עניין של ניסוח כי אפשר פשוט בשאלה להכניס את המילה “בדיוק” או “מקסימום” ואז זה מברר איזה כוונה הייתה.

אבל רק מוודא שאני לא מפספס פה על פלוס מינוס אחד.
אם הפונקציה מקבל N=1 אז בעצם זה רק אם הערכים X, Y הם אותו דבר? כי רשום ע"י N-1 לחיצות
כלומר (shake_hands(“Uranus”, “Helium”, 1) זה True או Flase?