Xóa Một Chữ Số để Thu được Số Lớn Nhất? [Archive] - Diễn Đàn Tin Học

Diễn Đàn Tin Học > Lập trình > Các ngôn ngữ lập trình > C/C++ > Xóa một chữ số để thu được số lớn nhất? PDA

View Full Version : Xóa một chữ số để thu được số lớn nhất?

tuanptit9412-05-2013, 09:33Nhập vào số nguyên n bất kì(n có tối đa 1000 chữ số). Hãy xóa 1 chữ số bất kì của số đó sao cho thu được số lớn nhất. In ra số lơn nhất đó. Ví dụ: Input: 1234 Output: 234 (xóa số 1) Input: 539 Output: 59 (xóa số 3). Ai chỉ giùm mình cái thuật toán được không? :3 megaownage13-05-2013, 07:04- Đọc ký tự từ trái sang phải - So sánh 2 ký tự kề nhau. - Nếu ký tự bên phải lớn hơn bên trái thì xóa ký tự bên trái và chấm dứt. - Nếu bên phải không lớn hơn bên trái thì tiếp tục đọc. - Nếu đọc đến ký tự cuối cùng thí xóa ký tự đó. Hảo Cầm Đồ13-05-2013, 12:02Để hiểu rõ hơn về thuật toán lão Mèo đưa ra, em nghĩ cần chút giải thích. VD 1 số ban đầu là abcd. Khi xóa đi 1 chữ số thì theo nguyên tắc chỉ có a hoặc b thuộc hàng trăm (Ko có trường hợp khác). --> a < b thì xóa a, còn ko tiếp tục xét 2 chữ số tiếp theo. Tương tự cho hàng chục và đơn vị. minhhieuit15-05-2013, 20:51Theo mình nghĩ thì chỉ cần duyệt từ trái sang phải... Tìm số bé nhất trong chuỗi đó xóa đi là sẽ ra kết quả ! ksc1016-05-2013, 00:12Theo mình nghĩ thì chỉ cần duyệt từ trái sang phải... Tìm số bé nhất trong chuỗi đó xóa đi là sẽ ra kết quả ! Lại brute force :| Xem lại các post trên đi nhé. megaownage16-05-2013, 07:13Theo mình nghĩ thì chỉ cần duyệt từ trái sang phải... Tìm số bé nhất trong chuỗi đó xóa đi là sẽ ra kết quả ! Chỉ nghĩ không chưa đủ. Bài toán đơn giản thế này thì chỉ cần lấy tờ giấy ra vẽ một vài số là biết ngay. số 35179 duyệt từ trái sang phải, số bé nhất là số 1, xóa số ấy đi thì còn 3579 Đáp số đúng phải là 5179 Thuật toán sai từ căn bản. Chưa nói đến việc chạy dài hơn. Để tìm số bé nhất phải đọc hết chuỗi. Nên tập thói quen chịu khó kiểm chứng suy nghĩ của mình trước khi nói ra. Powered by vBulletin® Version 4.2.0 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.

Từ khóa » Xóa K Chữ Số để được Số Lớn Nhất C