trang chủ / đề bài / invdigit

Đảo chữ số

Đề bài

Mô tả

Cho một số nguyên dương x. Bạn được phép thực hiện phép "đảo" trên một chữ số bất kỳ của x: chữ số t được thay bằng chữ số 9−t.

Hãy đảo một số chữ số (có thể không đảo chữ số nào) để biến x thành số nguyên dương nhỏ nhất có thể. Kết quả không được có chữ số 0 đứng đầu.

Dữ liệu vào

Một dòng duy nhất chứa số nguyên x (1≤x≤1018).

Dữ liệu ra

In ra số nhỏ nhất thu được sau khi đảo một số chữ số. Kết quả không được chứa chữ số 0 đứng đầu.

Ràng buộc

  • 1≤x≤1018

Ví dụ

Input Output Giải thích
27 22 Đảo chữ số 7 thành 9−7=2, giữ nguyên chữ số 2.
4545 4444 Đảo hai chữ số 5 thành 4, giữ nguyên hai chữ số 4.
9 9 Đảo 9 sẽ thành 0, nhưng khi đó số chỉ còn một chữ số 0 (không phải số dương hợp lệ), nên phải giữ nguyên 9.
99 90 Chữ số đầu phải giữ là 9 (không được đứng đầu bằng 0); chữ số thứ hai đảo thành 0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0