Problem

14 /16


اصعب سؤال للمبتدئين او ارقام الرقم

Theory Click to read/hide

تظهر الحاجة إلى تطبيق عملية حساب باقي القسمة عند العمل بأرقام الرقم. & nbsp ؛

دعنا نحلل المهمة التالية:
تم إعطاء رقم مكون من ثلاثة أرقام. اعرض جميع أرقام هذا العدد واحصل على رقم جديد مكون من وحدات ومئات التباديل

أصعب سؤال يطرح نفسه للمبتدئين هو كيفية أخذ الأرقام والحصول عليها من رقم.
في الواقع ، يتم حل كل شيء بكل بساطة ، إذا كنت تتذكر الرياضيات. وتخبرنا الرياضيات أن أي عدد يمكن أن يتحلل إلى مجموع حدود رقمية.
على سبيل المثال: 365 = 3 * 100 + 6 * 10 + 5 * 1 & nbsp ؛. نرى أن كل رقم هو مضاعف الرقم المقابل للرقم. & nbsp؛
سنوضح كيفية الحصول على كل رقم من رقم في متغير منفصل ، باستخدام مثال قسمة الأعمدة على الرقم 10. (نأخذ الرقم 10 ، لأن لدينا نظام رقم عشري ، وبالتالي ، لدينا شروط رقمية 1 ، 10 ، 100 ، إلخ.)

& nbsp؛ & nbsp؛

تحليل الشكل ، يمكنك أن ترى ذلك نبسب ؛ <قبل> e: = n mod 10 ؛ // عملية n mod 10 - حساب الرقم الأخير من الرقم n (أي وحدات الرقم) 365 mod 10 = 5 د: = n div 10 mod 10 ؛ // عملية n div 10 - تقلل الرقم بمقدار 10 مرات ، أي تجاهل الرقم الأخير من الرقم ( 365 div 10 = 36 ) ، // الآن يمكننا حساب عدد العشرات من خلال تطبيق العملية المألوفة على النتيجة - حساب الباقي بعد القسمة على الرقم 10 ، 36 mod 10 = 6 s: = n div 100 ؛ // للحصول على المئات ، يكفي تجاهل رقمين من يمين الرقم ، أي القسمة على 10 مرتين ( n div 10 div10 أو مثل n div 100 < / strong>) 365 div 100 = 3
بوجود الأرقام المحفوظة من الرقم ، يمكننا استخلاص أي رقم منها بضرب الرقم المطلوب بالرقم المقابل: & nbsp؛
على سبيل المثال ، سيحصل السطر أدناه على رقم جديد من الرقم الأصلي n ، مع إعادة ترتيب المئات والآحاد:
1) عدد الآحاد القديم (المخزن في المتغير & nbsp؛ e) & nbsp؛ مضروبًا في 100 & nbsp؛
2) عدد العشرات القديم (المخزن في المتغير د) على & nbsp؛ الضرب في & nbsp؛ 10 & nbsp؛
3) يمكننا ببساطة ضرب العدد القديم من المئات في 1 ، أو ببساطة أخذ القيمة المخزنة في المتغير s
ثم أضف القيم من النقاط 1 و 2 و 3 واحصل على رقم جديد:

n1: = e * 100 + d * 10 + s ؛

سيبدو البرنامج بأكمله كما يلي: <قبل> var n ، e ، d ، s: عدد صحيح ؛ يبدأ قراءة (ن) ؛ ه: = ن تعديل 10 ؛ د: = n div 10 mod 10 ؛ s: = n div 100 ؛ writeln (e، & # 39؛ & # 39؛ d، & # 39؛ & # 39؛ s، & # 39؛ & # 39 ؛، e * 100 + d * 10 + s) ؛ نهاية.

Problem

يتم إدخال رقم مكون من ثلاثة أرقام من لوحة المفاتيح. & nbsp؛
اكتب برنامجًا يطبع مسافة مفصولة في سطر واحد:
مجموع أرقام العدد والرقم الجديد الذي تم تكوينه بالتناوب بين الآحاد والعشرات