כפל ב-2 משמאל לימין...

עריסטו

Active member
כפל ב-2 משמאל לימין...

נותנים לכם מספר שלם גדול, למשל 9527502750245729569024672405623562946. מיצאו דרך פשוטה להכפיל אותו ב-2 משמאל לימין, ולא מימין לשמאל כמו שרגילים. צריך לעשות זאת באופן כזה שניתן לכתוב את התוצאה תוך כדי קריאת המספר.
 

slallum

New member
כתבתי פונקציה בפייתון

def kaful2(s): end = '' tmp = 0 for i in s: end += str(((int(i)*2) / 10) + tmp) tmp = int(i)*2 % 10 end += str(tmp) return end​
בעקרון פייתון זאת שפה די קלה, אז אני מקווה שאפילו אם אתם לא יודעים פייתון ויודעים שפת תכנות אחרת תבינו.
 

עריסטו

Active member
לא התכוונתי שייתנו אלגוריתם...../images/Emo13.gif

התכוונתי לתשובה קצרצרה (שורה אחת) שתסביר את הרעיון. לא צריך לפרט את הפתרון.
 

slallum

New member
חחחחחחחח שירי, טוב שקפצת לביקור :)

מה, לא צדקתי בפתרון?
 

איייייל

New member
נראה לי

מכפילים כל ספרה פי 2 (מודולו 10), ואם הספרה שאחריה היא 5 ומעלה אז מוסיפים 1 לתוצאה.
 

עריסטו

Active member
../images/Emo58.gif טוב, הנה הפתרון אליו התכוונתי...

להכפיל ב-2 ולחלק ב-5 זה אותו דבר...
 

גיל14

New member
הממ

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