Dọn dẹp đa thức

Đề bài

Mô tả

Cho hai số nguyên pk. Hãy tìm một đa thức f(x) với các hệ số là số nguyên không âm và nhỏ hơn k, sao cho khi chia f(x) cho (x+k) thì phần dư bằng p.

Nói cách khác, cần tìm f(x)=q(x)·(x+k)+p, trong đó q(x) là một đa thức (không nhất thiết có hệ số nguyên).

Nếu viết f(x)=a0+a1x+a2x2++ad1xd1 thì điều kiện trên tương đương với f(k)=p, với mọi hệ số thỏa 0ai<k và hệ số bậc cao nhất ad10.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên pk.

Dữ liệu ra

Nếu đa thức không tồn tại, in ra một số nguyên 1.

Ngược lại, in ra hai dòng:

  • Dòng đầu chứa số nguyên không âm d — số hệ số của đa thức.
  • Dòng thứ hai chứa d số nguyên a0,a1,,ad1 mô tả đa thức, thỏa 0ai<k với mọi i, và ad10.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1p1018
  • 2k2000

Ví dụ

Input Output Giải thích
46 2 7
0 1 0 0 1 1 1
f(x)=x6+x5+x4+x. Ta có f(2)=6432+162=46.
2018 214 3
92 205 1
f(x)=x2+205x+92. Ta có f(214)=4579643870+92=2018.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0