Tìm số (loop)
Xem dạng PDF
Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
FIND.INP
Output:
FIND.OUT
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho số nguyên không âm ~M~ (~0≤M≤10^9~)
Yêu cầu:
Tìm số nguyên dương K nhỏ nhất sao cho tích các chữ số của ~K~ bằng ~M~
Dữ liệu:
Cho từ tệp văn bản FIND.INP chứa duy nhất số nguyên dương ~M~
Kết quả:
Ghi ra tệp văn bản FIND.OUT số nguyên dương ~K~. Nếu không tìm được ~K~, in ra -1
Ví dụ:
FIND.INP
0
FIND.OUT
10
FIND.INP
12
FIND.OUT
26
Bình luận
Để làm được bài này thì các bạn chỉ cần sử dụng thuật toán tham lam, chia N lần lượt cho các số từ 9 đến 2 (Phải chia N đến khi không còn chia hết cho số đó nữa mới chuyển sang số tiếp theo). Nếu sau khi chia xong rồi vẫn còn dư thì in ra -1, còn nếu ngược lại không thì sắp xếp các thừa số từ bé đến lớn rồi in ra thôi :)
làm kiểu j v ae
demo25_051 là sao hả
hả
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.