כתוב תוכנית שתציג את כל המספרים התלת ספרתיים שבהם ספרת האחדות שווה לספרת העשרות, ספרת המאות שווה לסכום ספרת האחדות והעשרות, סכום ספרת האחדות והמאות שווה ל-5 (כל אחד כתרגיל נפרד). מי יכול להסביר בבקשה?
התוכנית בשפת C#
:
using System;
class MainClass {
public static void Main (string[] args) {
int targil = 1;
for (int number = 100; number < 1000; number++) {
int units = number % 10;
int tens = (number / 10) % 10;
int hundreds = number / 100;
if (targil == 1) {
if (units == tens) {
Console.WriteLine(number);
}
} else if (targil == 2) {
if (hundreds == units + tens) {
Console.WriteLine(number);
}
} else if (targil == 3) {
if (units + hundreds == 5) {
Console.WriteLine(number);
}
}
}
}
}
הסבר על התוכנית: קודם כל הגדרתי משתנה targil
שמציין את מספר התרגיל שאתה פותר. אם הוא שווה ל-1 אז התוכנית תמצא את כל המספרים התלת ספרתיים שבהם ספרת האחדות שווה לספרת העשרות, אם הוא שווה ל-2 אז התוכנית תמצא את כל המספרים התלת ספרתיים שבהם ספרת המאות שווה לסכום ספרת האחדות והעשרות ואם הוא שווה ל-3 אז התוכנית תמצא את כל המספרים התלת ספרתיים שבהם סכום ספרת האחדות והמאות שווה ל-5.
מספר תלת ספרתי הוא מספר שמורכב משלוש ספרות ולכן הוא מספר שלם שנמצא בתחום בין 100 ל-1000 (לא כולל). לכן נרוץ בלולאה על המספרים הנ"ל.
בכל שלב, נחשב את מספר היחידות, מספר העשרות ומספר המאות. האופרטור %
נקרא אופרטור מודולו ותפקידו להחזיר את שארית החלוקה. בעזרתו נוכל לחשב את ספרת האחדות. למשל 101 % 10 = 1
.
האופרטור \
נקרא אופרטור החלוקה ובחלוקה של שני מספרים שלמים הוא מחזיר מספר שלם, גם אם יש שארית. בעזרתו נוכל למחוק את ספרת האחדות. למשל 101 / 10 = 10
.
לאחר שחישבנו את ספרת האחדות, ספרת העשרות והמאות, נוכל לבדוק כל תנאי (בהתאם לתרגיל).
נסה להריץ את התוכנית ולשנות את הערך של המשתנה targil
בכל פעם.
בהצלחה.