Đề bài:

Hướng dẫn giải:
Với giới hạn giá trị của Y thì ta có thể nhận xét rằng:
Y = X + Z với Z = tổng các chữ số của X mà X có giá trị trong khoảng $10^9$ nên Z có giá trị tối đa là 9*9 = 81 ==> có thể duyệt qua tất cả các giá trị trong khoảng từ [Y , Y – 100] để tìm giá trị X thỏa điều kiện.
#include<bits/stdc++.h>
using namespace std;
int tongchuso(long long n){
long long digit;
long long m=0;
while(n>0){
digit=n%10;
m+=digit;
n/=10;
}
return m;
}
int main(){
long long n;
cin>>n;
long long x = n - 1;
while(x + tongchuso(x)!=n){
x--;
}
cout<<x;
return 0;
}
