פירוק לשני ריבועים

פירוק לשני ריבועים

שלום! איך אפשר לפרק כל מספר לסכום של שני ריבועים(אם יש)? 2 ^ 3 + 2 ^ 11 = 130 *ה-3 וה11 הם בריבוע אם ביקשו ממני לכתוב תוכנית(בפסקל) שתתן את כל הפירוקים האפשריים, איך אני עושה את זה? תודה לעוזרים.
 

DNile

New member
אלגוריתם יחסית פשוט:

בהנתן מספר X שצריך לייצג אותו כY*Y+Z*Z עבור בלולאה על כל הערכים האפשריים לY החל מ1, ועד לשורש של X/2. בדוק האם X-Y*Y הוא ריבוע של מספר שלם(Z).
 
למעלה