Trong bài học này, chúng ta sẽ cùng đi giải quyết lại bài toán đảo ngược số và chúng ta sử dụng hàm để giải quyết bài toán này nhé. Bài tập này giúp các bạn luyện tập kiến thức về hàm trong C đã học ở bài học trước. Nếu bạn chưa biết tới khóa học này, hãy xem bài giới thiệu khóa học C nhé.
Video hướng dẫn đảo ngược số
Ý tưởng đảo ngược số trong video đang sử dụng:
Giả sử n = 12345. Khi đó ta có thể viết n = 1*105 + 2*104 + 3*103 + 4*102 + 5*101
Vậy số ngược lại của n = 54321 có thể viết thành 5*105 + 4*104 + 3*103 + 2*102 + 1*101
Nếu bạn để ý, chúng có sự trái ngược nhau. Bạn có thể lợi dụng tính chất này để tìm số đảo ngược.
Lời giải đảo ngược số sử dụng hàm
Lời giải và hướng dẫn trong video là theo ý tưởng phía trên, dưới đây là source code trong video:
/* Đảo ngược số sử dụng hàm Ví dụ: 1234 => 4321 1300 => 31 */ #include <stdio.h> /* Giả sử với số n = 1234 n = 1 * 1000 + 2 * 100 + 2 * 10 + 4 * 1 10^3 10^2 10^1 10^0 Đảo ngược thế nào? B1: num = 4 B2: num = 4 * 10 + 3 = 43 B3. num = 43 * 10 + 2 = 432 B4. num = 432 * 10 + 1 = 4321 */ int Reverse(int n){ /* Lấy chữ số cuối cùng bằng cách chia dư cho 10 Bỏ chữ số cuối cùng bằng cách chia cho 10 */ int reNum = n % 10; // B1: Lấy chữ số cuối cùng n /= 10; // Bỏ chữ số cuối cùng int last; while(n > 0){ last = n % 10; // Lấy chữ số cuối cùng n /= 10; // Bỏ chữ số cuối cùng reNum = reNum * 10 + last; // Chính là các bước 2 3 4 } return reNum; } int main(){ int num; printf("Nhap num = "); scanf("%d", &num); printf("nReNum = %d", Reverse(num)); }
Dưới đây là một số cách cài đặt khác, mời bạn tiếp tục đọc… Tuy nhiên code trong bài học này không sử dụng hàm, bạn hãy viết lại bằng cách sử dụng hàm nhé.
[wpcc-iframe class=”wp-embedded-content” sandbox=”allow-scripts” security=”restricted” style=”position: absolute; clip: rect(1px, 1px, 1px, 1px);” title=”“Bài 24. Tìm số đảo ngược trong C/C++” — Luyện Code” src=”https://nguyenvanhieu.vn/tim-so-dao-nguoc-cua-mot-so/embed/#?secret=xzLoewril6%23?secret=fpbcScVC3G” data-secret=”fpbcScVC3G” width=”600″ height=”338″ frameborder=”0″ marginwidth=”0″ marginheight=”0″ scrolling=”no”]
Theo dõi lập trình không khó tại:
- Forum: https://www.facebook.com/groups/LapTrinhKhongKho/
- Youtube: https://www.youtube.com/HieuNguyenVanOfficial
Để lại một bình luận