Module: (C++) تقسیم و باقیمانده اعداد صحیح


Problem

8 /16


ارقام اعداد

Theory Click to read/hide

ارقام یک عدد را محاسبه کنید

هنگام کار با ارقام یک عدد، نیاز به اعمال عملیات محاسبه باقیمانده تقسیم قابل مشاهده است. 
 
وظیفه
یک عدد سه رقمی داده شده است. تمام ارقام این عدد را نمایش دهید و یک عدد جدید با جابجایی واحدها و صدها بدست آورید.

سخت ترین سوالی که برای مبتدیان مطرح می شود این است که چگونه می توان یک عدد را به ارقام تشکیل دهنده آن تقسیم کرد.
در واقع، اگر ریاضی را به خاطر داشته باشید، همه چیز به سادگی حل می شود. و ریاضیات به ما می گوید که هر عددی را می توان به مجموع عبارات رقمی تجزیه کرد.
به عنوان مثال: 365=3*100+6*10+5*1 . می بینیم که هر رقم ضریب رقم مربوط به عدد است. 
بیایید نشان دهیم که چگونه هر رقم یک عدد را به یک متغیر جداگانه تبدیل کنیم. روش تقسیم را در نظر بگیرید  ستونی از عدد 365 با عدد 10  (عدد 10 را می گیریم، زیرا یک سیستم اعداد اعشاری داریم و بر این اساس، اصطلاحات رقمی 1، 10، 100 و غیره داریم).
  

پس از تجزیه و تحلیل شکل، می توانید ببینید:
  e = n % 10; // عملیات n % 10 - آخرین رقم عدد n (یعنی رقم واحد) را محاسبه می کند.   // 365% 10 = 5 d = n / 10% 10; // عملیات n / 10 - تعداد را 10 برابر کاهش می دهد،   // یعنی آخرین رقم عدد (365 / 10 = 36) را حذف می کند. // اکنون می توانیم رقم ده ها را با اعمال عملیات آشنا در نتیجه محاسبه کنیم   // - باقی مانده را پس از تقسیم بر عدد 10 محاسبه کنید، 36٪ 10 = 6 s = n / 100; // برای به دست آوردن رقم صدها کافی است دو رقم از سمت راست عدد را کنار بگذارید.   // یعنی تقسیم بر 10 دو بار (n / 10 / 10 یا همان n / 100) 365 / 100 = 3
با دریافت تمام ارقام عدد، می توانیم با ضرب رقم مورد نظر در رقم مربوطه، عدد دیگری از آنها بسازیم: & nbsp; برای مثال، خط زیر یک عدد جدید از عدد اصلی n دریافت می‌کند که صدها و یک‌ها مرتب شده‌اند:
1) تعداد واحدها (ذخیره شده در متغیر e)  ضرب در 100
2) رقم ده ها (ذخیره شده در متغیر d)   ضرب در 10;  < br /> 3) به سادگی می توانیم رقم صدها را در 1 ضرب کنیم، یا به سادگی مقدار ذخیره شده در متغیر s را بگیریم؛
سپس مقادیر نقاط 1، 2 و 3 باید اضافه شوند و یک عدد جدید بدست می آوریم: n1 = e * 100 + d * 10 + s; کل برنامه به شکل زیر خواهد بود:
  #includeiostream> با استفاده از namespace std. main() { int n، e، d، s; cin>> n e = n % 10; d = n / 10% 10; s = n / 100; cout << e<< " " << d<< " " << s<< " " << (e * 100 + d * 10 + s)؛ }

Problem

برنامه ای بنویسید که با یک عدد سه رقمی، مجموع ارقام عدد و عدد جدیدی را که از جایگشت یک ها و ده ها تشکیل می شود، چاپ کند.

ورودی 
یک عدد سه رقمی از صفحه کلید وارد می شود.

Impprint 
دو عدد در یک خط که با فاصله از هم جدا شده اند: ابتدا مجموع ارقام عدد، سپس عدد بر اساس شرط مسئله تبدیل می شود.


مثال‌ها
<سر> <بدن>
# ورودی خروجی
1 365 14 356