PHÂN SỐ SỐ NGUYÊN VÀ DẪN LẠI


Trong học phần "Biểu thức số học" chúng ta đã nói về các tính năng của phép chia trong ngôn ngữ Java.
Nhớ lại rằng đối với dữ liệu số nguyên (kiểu int) có thể sử dụng hai phép chia.
/ - phép chia số nguyên, khi chúng ta loại bỏ phần phân số do phép chia
% - phép tính phần còn lại của phép chia

HÃY NHỚ!
Trong Java, kết quả của việc chia một số nguyên cho một số nguyên – nó luôn là một số nguyên, phần còn lại sẽ bị loại bỏ khi chia.

Ví dụ: int a,b; một = 10; b = 3; int c = a / b; // Trả lời: c = 3 int d = a%b; // Trả lời: d = 1 Các thao tác này rất quan trọng trong lập trình. Chúng cần được hiểu và sử dụng đúng cách. Và nó cần thực hành!

 

Nhu cầu áp dụng thao tác tính phần dư của phép chia có thể thấy được khi làm việc với các chữ số của một số. 

Hãy phân tích nhiệm vụ sau:
Một số có ba chữ số được đưa ra. Hiển thị tất cả các chữ số của số này và nhận được một số mới được lập bằng cách hoán vị hàng đơn vị và hàng trăm

Câu hỏi khó nhất đối với người mới bắt đầu là làm thế nào để lấy và lấy các chữ số của nó từ một số.
Trên thực tế, mọi thứ đều được giải quyết khá đơn giản, nếu bạn nhớ toán học. Và toán học cho chúng ta biết rằng bất kỳ số nào cũng có thể được phân tích thành tổng của các số hạng bằng chữ số.
Ví dụ: 365=3*100+6*10+5*1 . Ta thấy rằng mỗi chữ số là cấp số nhân của chữ số tương ứng của số đó. 
Chúng tôi sẽ trình bày cách lấy từng chữ số của một số thành một biến riêng biệt, sử dụng ví dụ về chia các cột cho số 10. (Chúng tôi lấy số 10, vì chúng tôi có hệ thống số thập phân và theo đó, chúng tôi có các thuật ngữ chữ số 1, 10, 100, v.v.)
  

Phân tích hình, bạn có thể thấy rằng  e = n % 10; // thao tác n % 10 - tính chữ số cuối cùng của số n (nghĩa là đơn vị của số đó) 365 % 10 = 5 d = n/10%10; // thao tác n / 10 - giảm số đi 10 lần, tức là loại bỏ chữ số cuối cùng của số (365 / 10 = 36), // bây giờ ta có thể tính số tròn chục bằng cách áp dụng phép toán quen thuộc vào kết quả - tính dư của phép chia cho số 10, 36 % 10 = 6 s = n/100; // để có hàng trăm, chỉ cần loại bỏ hai chữ số bên phải của số đó, tức là chia hai lần cho 10 (n / 10 /10 hoặc tương tự như n / 100 ) 365/100 = 3
Có các chữ số đã lưu của số, chúng ta có thể tạo bất kỳ số nào trong số chúng bằng cách nhân chữ số mong muốn với chữ số tương ứng: 
ví dụ: dòng bên dưới sẽ nhận được một số mới từ số ban đầu n, với hàng trăm và hàng đơn vị được sắp xếp lại:
1) số cũ (được lưu trữ trong biến e)  nhân với 100 
2) số cũ của hàng chục (được lưu trữ trong biến d)  nhân với 10 
3) chúng ta có thể chỉ cần nhân số cũ của hàng trăm với 1 hoặc chỉ cần lấy giá trị được lưu trữ trong biến s
Sau đó, chỉ cần thêm các giá trị từ các điểm 1, 2 và 3 và nhận được một số mới:

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

Toàn bộ chương trình sẽ trông như thế này: nhập java.util.Scanner; lớp công khai Chính { public static void main(String[] args) { Máy quét trong = Máy quét mới (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)); }