שאלת יעילות

igalep132

New member
שאלת יעילות

שלום, האם יש דרך יעילה יותר לפתור את הבעיה מאשר לעבור על כל המס' 1024-9999 לפרק את המס ע"י DIV ו MOD , לחבר לעלות בריבוע ולהשוות ל X ?
 

Okuryo

New member
../images/Emo119.gifנסיון

נסמן את שתי הספרות הראשונות, כמספר דו-ספרתי, ב-a, ואת שתי הספרות האחרונות ב-b. אז
(a+b)² = 10a+b​
אפשר לחפש בין כל המספרים הדו-ספרתיים פתרון למשוואה הזאת. זה יותר טוב?
 

igalep132

New member
זה נראה לי

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

igalep132

New member
טוב, זה באמת יותר יעילי מהדרך שלי

אבל אם יש משהו יעיל יותר , אשמח לדעת תודה
 
אני הייתי עושה אחרת

שורש של 1024 זה 32 שורש של 10000 זה 100 אז עוברים על כל המספרים בטווח של 32-100, מעלים בריבוע ובודקים האם התכונה מתקיימת. מה הרווחנו? שבמקום לעבור על ~8000 מספרים, עברנו על ~70. חוץ מזה שאם אני זוכרת נכון, פעולה של שורש "יקרה" יותר מפעולה של העלאה בחזקה...
 
למעלה