Cho trước số M (M ≤ 2^109). Nhiệm vụ của bạn là tìm số nguồn của M, nếu như M có nhiều nguồn thì đưa ra kết quả là số nguồn nhỏ nhất
Xét một số N nguyên dương, Ví dụ: N = 836, xét tổng M = 836 + 8 + 3 +6 = 853, khi đó ta gọi số N = 836 là số nguồn của số M = 853. Có những số có thể có nhiều nguồn, ví dụ số: M = 909 có hai số nguồn là 891 và 900.
Cho trước số M (M ≤ 2*109). Nhiệm vụ của bạn là tìm số nguồn của M, nếu như M có nhiều nguồn thì đưa ra kết quả là số nguồn nhỏ nhất.
Input: Số nguyên dương M
Output: Số nguồn nhỏ nhất của số M, trường hợp không tìm được số nguồn của M thì đưa ra -1.
Bằng cách nhấp vào Đăng nhập, bạn đồng ý Chính sách bảo mật và Điều khoản sử dụng của chúng tôi. Nếu đây không phải máy tính của bạn, để đảm bảo an toàn, hãy sử dụng Cửa sổ riêng tư (Tab ẩn danh) để đăng nhập (New Private Window / New Incognito Window).
m=int(input("Nhap M: ")) if(m>2*10**9):exit() ans=m for n in range(m,m-9*len(str(m))-1,-1): t=sum(map(int,str(n))) if(n+t==m):ans=min(ans,n) if(n<=0): break; if(ans!=m): print(ans) else: print(-1)
Mở khóa để xem toàn bộ nội dung trả lời
(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi. Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ