【Codeforces Round #462 (Div. 1) B】A Determined Cleanup
阿新 • • 發佈:2018-02-16
n) ont back include col line font ret 一個
【鏈接】 我是鏈接,點我呀:)
【題意】
在這裏輸入題意
【題解】
設\(設f(x)=a_d*x^{d}+a_{d-1}*x^{d-1}+...+a_1*x+a_0\)
用它去除x+k
用多項式除法除一下就好。
會發現余數等於
\(∑_0^{d}(-k)^{i}*a_i\)
這是一個十進制數轉成負k進制數的和的形式。
而p已知。
問題就轉化為把十進制數p轉成-k進制數的問題了。
【代碼】
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll p,k;
vector<int> v;
int main(){
#ifdef LOCAL_DEFINE
freopen("rush_in.txt", "r", stdin);
#endif
ios::sync_with_stdio(0),cin.tie(0);
cin >> p >> k;
k = -k;
while (p!=0){
int x = p%k;
p/=k;
if (x<0) {
x+=abs(k);
p++;
}
v.push_back(x);
}
cout<<(int )v.size()<<endl;
for (int x:v)
cout<<x<<' ';
return 0;
}
【Codeforces Round #462 (Div. 1) B】A Determined Cleanup