تقسیم عدد صحیح و باقی می ماند


در ماژول "عبارات حسابی" ما در مورد ویژگی های عملیات تقسیم در زبان جاوا صحبت کردیم.
به یاد داشته باشید که برای داده های عدد صحیح (نوع int) می توان از دو عملیات تقسیم استفاده کرد.
/ - تقسیم عدد صحیح، زمانی که قسمت کسری را در نتیجه عملیات تقسیم حذف می کنیم
% - محاسبه باقی مانده تقسیم

به یاد داشته باشید!
در جاوا، نتیجه تقسیم یک عدد صحیح بر یک عدد صحیح – همیشه یک عدد صحیح است، باقیمانده هنگام تقسیم کنار گذاشته می‌شود.

مثال: <پیش> int a,b; a = 10; b = 3; int c = a / b; // پاسخ: c = 3 int d = a%b; // پاسخ: d = 1 این عملیات در برنامه نویسی بسیار مهم هستند. آنها باید درک شوند و به درستی مورد استفاده قرار گیرند. و این نیاز به تمرین دارد!

 

هنگام کار با ارقام یک عدد، نیاز به اعمال عملیات محاسبه باقیمانده تقسیم قابل مشاهده است. 

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

سخت ترین سوالی که برای مبتدیان مطرح می شود این است که چگونه ارقام آن را از یک عدد بگیرند و بدست آورند.
در واقع، اگر ریاضی را به خاطر داشته باشید، همه چیز به سادگی حل می شود. و ریاضیات به ما می گوید که هر عددی را می توان به مجموع عبارات رقمی تجزیه کرد.
به عنوان مثال: 365=3*100+6*10+5*1 . می بینیم که هر رقم ضریب رقم مربوط به عدد است. 
با استفاده از مثال تقسیم ستون ها بر عدد 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
با داشتن ارقام ذخیره شده عدد، می توانیم با ضرب رقم مورد نظر در رقم مربوطه از آنها هر عددی بسازیم: 
برای مثال، خط زیر یک عدد جدید از عدد اصلی n دریافت می کند که صدها و یک ها مرتب شده اند:
1) تعداد قدیمی یکها (ذخیره شده در متغیر e)  ضرب در 100 
2) تعداد ده ها قدیمی (ذخیره شده در متغیر d)  در 10 
ضرب کنید 3) به سادگی می توانیم عدد قدیمی صدها را در 1 ضرب کنیم یا به سادگی مقدار ذخیره شده در متغیر s
را بگیریم. سپس فقط مقادیر 1، 2 و 3 را اضافه کنید و یک عدد جدید دریافت کنید:

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

کل برنامه به شکل زیر خواهد بود: <پیش> وارد کردن java.util.Scanner. کلاس عمومی اصلی { public static void main(string[] args) { Scanner in = new Scanner(System.in); int n, e, d, s; n = in.nextInt(); e = n % 10; d = n / 10% 10; s = n / 100; System.out.print(e + "" + d + "" + s + "" + (e * 100 + d * 10 + s)); }