trang chủ / đề bài / finarith

Phép cộng đảo ngược

Đề bài

Mô tả

Với một số nguyên dương a (không có chữ số 0 ở đầu), gọi aR là số nguyên thu được bằng cách đảo ngược thứ tự các chữ số của a trong hệ thập phân, sau đó loại bỏ các chữ số 0 ở đầu (nếu có). Ví dụ:

  • Với a=123, ta có aR=321.
  • Với a=130, đảo ngược được 031, bỏ chữ số 0 ở đầu nên aR=31.

Cho một số nguyên dương n. Hãy tìm một số nguyên dương a (không có chữ số 0 ở đầu) sao cho:

a+aR=n

Nếu không tồn tại a thoả mãn, in ra 0. Nếu có nhiều a thoả mãn, in ra một giá trị bất kỳ.

Dữ liệu vào

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

Dữ liệu ra

In ra một số nguyên: giá trị a thoả mãn a+aR=n, hoặc 0 nếu không tồn tại.

Ràng buộc

  • 1≤n≤10100000 — n có thể có tới 100001 chữ số.

Ví dụ

Input Output Giải thích
4 2 a=2, aR=2, tổng =4. Đây là a duy nhất.
11 10 a=10, aR=01→1, tổng =11. Lưu ý a=01 không hợp lệ vì có chữ số 0 ở đầu.
5 0 Không tồn tại a thoả mãn.
33 21 33=21+12=12+21=30+3 — có nhiều đáp án, 21 là một trong số đó.

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