Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- typedef pair< int, int > pii;
- #define mod 1000000007
- #define pb push_back
- int sum( long long n ){
- int s= 0;
- while( n > 0 ){
- int r= n%10;
- n/= 10;
- s+= r;
- }
- cout << s << endl;
- return s;
- }
- int main(){
- long long n;
- long long l, h;
- bool flag= false;
- cin >> n;
- l= 1;
- h= sqrt( n );
- while( l <= h ){
- long long m= l + ( h-l )/2;
- long long r= 1ll*m*( m + sum( m ) );
- //cout << l << ' ' << h << ' ' << r << endl;
- if( r== n ){
- flag= true;
- cout << m << endl;
- break;
- }
- if( r < n )
- l= m;
- else
- h= m;
- }
- if( !flag ){
- cout << -1 << endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment