تظهر الحاجة إلى تطبيق عملية حساب باقي القسمة عند العمل بأرقام الرقم. & nbsp ؛
دعنا نحلل المهمة التالية:
تم إعطاء رقم مكون من ثلاثة أرقام. اعرض جميع أرقام هذا العدد واحصل على رقم جديد مكون من وحدات ومئات التباديل strong>
أصعب سؤال يطرح نفسه للمبتدئين هو كيفية أخذ الأرقام والحصول عليها من رقم.
في الواقع ، يتم حل كل شيء بكل بساطة ، إذا كنت تتذكر الرياضيات. وتخبرنا الرياضيات أن أي عدد يمكن أن يتحلل إلى مجموع حدود رقمية.
على سبيل المثال: 365 = 3 * 100 + 6 * 10 + 5 * 1
& nbsp ؛. نرى أن كل رقم هو مضاعف الرقم المقابل للرقم. & nbsp؛
سنوضح كيفية الحصول على كل رقم من رقم في متغير منفصل ، باستخدام مثال قسمة الأعمدة على الرقم 10. (نأخذ الرقم 10 ، لأن لدينا نظام رقم عشري ، وبالتالي ، لدينا شروط رقمية 1 ، 10 ، 100 ، إلخ.)
& nbsp؛ & nbsp؛
تحليل الشكل ، يمكنك أن ترى ذلك نبسب ؛
<قبل>
e = n٪ 10 ؛ // عملية n٪ 10 - حساب الرقم الأخير من الرقم n (أي وحدات الرقم) 365٪ 10 = 5
د = ن / 10٪ 10 ؛ // العملية n / 10 - تقلل الرقم بمقدار 10 مرات ، أي تجاهل الرقم الأخير من الرقم ( 365/10 = 36 ) ،
// الآن يمكننا حساب عدد العشرات من خلال تطبيق العملية المألوفة على النتيجة - احسب باقي القسمة على الرقم 10 ، 36٪ 10 = 6
ق = ن / 100 ؛ // للحصول على المئات ، يكفي تجاهل رقمين من يمين الرقم ، أي القسمة على 10 مرتين ( n / 10/10 أو نفس الرقم n / 100 ) 365/100 = 3
بوجود الأرقام المحفوظة من الرقم ، يمكننا استخلاص أي رقم منها بضرب الرقم المطلوب بالرقم المقابل: & nbsp؛
على سبيل المثال ، سيحصل السطر أدناه على رقم جديد من الرقم الأصلي n ، مع إعادة ترتيب المئات والآحاد:
1) عدد الآحاد القديم (المخزن في المتغير & nbsp؛ e) & nbsp؛ مضروبًا في 100 & nbsp؛
2) عدد العشرات القديم (المخزن في المتغير د) strong> على & nbsp؛ الضرب في & nbsp؛ 10 & nbsp؛
3) يمكننا ببساطة ضرب العدد القديم من المئات في 1 ، أو ببساطة أخذ القيمة المخزنة في المتغير s
ثم أضف القيم من النقاط 1 و 2 و 3 واحصل على رقم جديد:
n1 = e * 100 + d * 10 + s ؛
سيبدو البرنامج بأكمله كما يلي:
<قبل>
استيراد java.util.Scanner ؛
فئة عامة رئيسية {
العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {
الماسح الضوئي = ماسح ضوئي جديد (System.in) ؛
int n ، e ، d ، s ؛
n
= in.nextInt () ؛
ه = ن٪ 10 ؛
د = ن / 10٪ 10 ؛
ق = ن / 100 ؛
System.out.print (e + "" + d + "" + s + "" + (e * 100 + d * 10 + s)) ؛
}