Posts

Showing posts from March, 2018

Làm Sao để thêm số 0 vào trước 1 số bất kì

Image
Làm Sao để thêm số 0 vào trước 1 số bất kì Vấn đề này dễ gặp phải khi nhập vào ngày sinh từ bàn phím,... ví dụ cần phải hiển thị kết quả như sau: Bình thường khi dùng lệnh in ra một số nguyên thương dùng như sau: Tuy nhiên kết quả cho ra không đúng như mong muốn: Thế nên để in ra số 04 thì cần thay đôi câu lệnh in. Cụ Thể: là " %0nd "  Với n là số kí khoảng trống, khi đó nếu còn trống kí tự nào kí tự đó sẽ được thay bằng số 0. Ví dụ với " % 03d": 42 --> 042  , 4 --> 004.
Image
Chương trình tìm các phần tử ( Cho sẵn bởi 1 mảng) tạo thành của 1 số nguyên Chương trình tính tổng các phần tử trong một mảng, sao cho chúng tạo thành một số nhập vào. ( Ví dụ, 102 = 50+50+1+1 , với mảng {1, 5, 10, 20, 50} ) Các phần tử của mảng gồm 50 , 20 , 10 , 5 , 1. Theo yêu cầu, cần phải Cộng các số từ lớn nhất (có thể ) trước, ví dụ 102 = 100 +2 . Thấy rằng:  100 =50 ( A[4] ) +50 ( A[4] ) . Như vậy cần lặp từ cuối lên :  Vậy, trong vòng for làm gì...? Đây là câu hỏi chỉ được trả lời khi đã xác định được thuật toán cần sử dụng. Trong trương hợp này mình sẽ lấy Số lớn nhất trừ cho số nhập vào đến khi nó nhỏ hơn thì dừng lại. Nói cách khác, trong trường hợp với số 102, và mảng như trên thì: n = 102.( n>=50 ) 102 -50 =52.(52>= 50) 52- 50 =2 (2< 50) 2>= 1  nên n= 2-1  1>= 1 nên n = 1-1 ( =0 ,và không còn phần tử cảu mảng thỏa mãn) Dễ thấy công việc bên trên lặp ...