עריסטו
Active member
אתם עובדים בשפת תכנות שבה כל המספרים הם מסוג signed 32-bit integer כלומר הם יכולים להיות כל ערך שלם בין 2147483648- ל-2147483647. אם תוצאת חישוב חורגת מהתחום הזה מתקבלת הודעת שגיאה. אתם רוצים לכתוב תוכנית שמקבלת מספר שלם x בין 0 ל-2147483646 ומחשבת את
52879x MOD 2147483647 (השארית מחילוק 52879x ב-2147483647). כמובן אי אפשר לחשב זאת ישירות כי עבור רוב הערכים של x המספר 52879x גדול מ-2147483647 ומתקבלת שגיאה. מהי הדרך המהירה והפשוטה ביותר לבצע את החישוב?
52879x MOD 2147483647 (השארית מחילוק 52879x ב-2147483647). כמובן אי אפשר לחשב זאת ישירות כי עבור רוב הערכים של x המספר 52879x גדול מ-2147483647 ומתקבלת שגיאה. מהי הדרך המהירה והפשוטה ביותר לבצע את החישוב?