21-11-2009, 22:13
|
|
|
חבר מתאריך: 30.07.05
הודעות: 949
|
|
אתה מקבל את זה מראש כמערך, לא?
אז אין טעם להמיר את זה למחרוזת...
כעקרון מה שאתה מסתכל עליו זה האורך, ומי גדול יותר.
נניח שיש לך את המספר המחלק [d[0]d[1]d[2
ואת המספר המחולק [a[0]a[1]a[2]a[3]a[4]a[5
אז מבחינת האורך, ברור ש-[a[0]a[1 לא מתחלקים ב-d, אלא צריך לכל הפחות את [a[2.
עכשיו, כדי לבדוק האם [a[0]a[1]a[2 מתחלק ב-d אתה צריך לבדוק:
האם [tex]a[0] \ge d[0][/tex] - מן הסתם כן, הרי אין משמעות למספר אם הספרה השמאלית ביותר שלו היא לא 1... מקדמים של 0 הם חסרי משמעות...
עכשיו, אתה בודק ככה לכל [tex]a[i], d[i][/tex] עד שאתה מגלה שאחד מהם הוא 1 והשני הוא 0.
אם גילית ש-[tex]a[i]=1, d[i]=0[/tex] אזי החלק של a שלקחת מתחלק ב-d, ואפשר לעצור.
אם גילית ש-[tex]a[i]=0, d[i]=1[/tex] אזי החלק של a שלקחת קטן מ-d ולכן לא יתחלק בו - וצריך לקחת ספרה נוספת של a.
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.
נערך לאחרונה ע"י Dark Knight בתאריך 21-11-2009 בשעה 22:23.
|