אודה על קבלת עזרה בשאלה הבאה ב- C# איך להבדיל מתי לכפיל ב2 ומתי ב1 כלומר באמצאות מה? אם יש למישהו רעיון?

jaguar02

New member
אודה על קבלת עזרה בשאלה הבאה ב- C#

כתבו תכנית הקולטת מספר שלם חיובי המייצג מספר תעודת זהות, ללא אפס מוביל וללא ספרת ביקורת.
התוכנית מחשבת ומדפיסה את מספר תעודת הזהות עם ספרת הביקורת.
חישוב ספרת הביקורת של תעודת זהות נעשה בשלושה שלבים:
בשלב הראשון כופלים את הספרות השונות ב 2 וב 1 לסירוגין:
- . הספרה האחרונה (הימנית ביותר) מוכפלת ב 2.
- . הספרה הלפני אחרונה (השניה מימין) מוכפלת ב 1.
- . הספרה שלפניה (השלישית מימין) מוכפלת ב 2.
וכן הלאה לסירוגין, עבור שאר הספרות (לא ידוע אם מספר הספרות זוגי או לא).
בשלב השני סוכמים את סכום הספרות של המכפלות שהתקבלו.
בשלב השלישי מקבלים את ספרת הביקורת בתור המספר האי שלילי הקטן ביותר שניתן להוסיף לתוצאת הסכום (שהתקבלה בשלב השני) בכדי להגיע לכפולה של 10.
 

BravoMan

Active member
ספרת ביקורת של ת.ז. מחושבת ע"פ אלגוריתם לוהן.
תוכל לקרוא הסבר יותר מובן שלו כאן.

בגודל, אתה מכפיל לפי מקום הספרה במספר, אבל אתה צריך להתחיל מהספרה הימנית ביותר, הנמוכה.
תקצה לך משתנה שסופר על איזו ספרה אתה נמצא.
ואם אינדקס הספרה אי זוגי, תכפיל ב-2. אם זוגי, תכפיל ב-1 (או בעצם על תעשה כלום, כי אין משמעות לכפל ב-1, רק תוסיף לסכום).

ועצה ידידותית:
להבא, שאל את השאלה שלך בגוף ההודעה, אל תדחוף אותה לכותרת, כי ככה קשה יותר לקרוא ולעזור!
 
למעלה