P14337 [JOI2020 预选赛 R2] 求和 / Digit Sum
定义
设一个数
代码:
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int N = 1e6 + 10;
int n;
int f[N];
inline int add(int k){
int cnt = 0;
while(k){
cnt += k % 10;
k /= 10;
}
return cnt;
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n;
for(int i = 1;i <= n;i ++){
if(i + add(i) > n)continue;
f[i + add(i)] += f[i] + 1;
}
cout << f[n] + 1;
return 0;
}