Bội của 45

Xem dạng PDF

Gửi bài giải

Điểm: 20,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, PyPy, Python, Scratch

Tuấn rất thích các số là bội của 45. Vì vậy cứ thấy bất kỳ một số nguyên dương N nào Tuấn cũng cố gắng biến đổi số đó bằng cách thay đổi vị trí các chữ số để được một bội số của 45.

Cho trước số nguyên dương N, hãy cho biết có thể biến đổi N để hợp với sở thích của Tuấn được hay không?

Input:
Một dòng chứa số nguyên N
1 <= N <= 10^1000
Ouput:
Nếu có thể biến đổi được thì in ra số nhỏ nhất thỏa mãn bài toán, ngược lại thì in -1
Ví dụ 1
Input:
153
Output:
135
Ví dụ 2
Input:
55544
Ouput:
-1

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    minhkhoi_py30  đã bình luận lúc 6, Tháng 12, 2025, 9:34

    mình xin code python với


  • 2
    minhkhoi_py30  đã bình luận lúc 1, Tháng 12, 2025, 13:38

    đừng nhắn linh tinh nhé


  • -1
    giabaotht26  đã bình luận lúc 17, Tháng 11, 2025, 14:12

    mình xin code với


  • -2
    tieuhatuanminh  đã bình luận lúc 11, Tháng 11, 2025, 11:37

    lợn


  • 0
    phuquy  đã bình luận lúc 7, Tháng 6, 2025, 9:53

    code:

    • import sys

      s = input().strip() if not s: print(-1) sys.exit()

      a = sorted(s) t = sum(int(x) for x in a) if t % 9 != 0 or ('0' not in a and '5' not in a): print(-1) sys.exit()

      r = None for l in ['0','5']: if l in a: b = a.copy() b.remove(l) b.sort() if b and b[0] == '0': for i in range(1,len(b)): if b[i] != '0': b[0],b[i] = b[i],b[0] break else: if l == '0': continue x = ''.join(b) + l if x[0] == '0': continue if r is None or x < r: r = x

      if r: print(r) else: print(-1)


  • -4
    missna  đã bình luận lúc 7, Tháng 5, 2025, 12:13

    code python N = input().strip()

    digits = list(N) total = sum(int(d) for d in digits) has5or_0 = any(d in digits for d in ['0', '5'])

    if total % 9 == 0 and has5or_0: digits.sort() # Loại trường hợp số bắt đầu bằng 0 for i in range(len(digits)): if digits[i] != '0': digits[0], digits[i] = digits[i], digits[0] break print(''.join(digits)) else: print(-1)