标签:close one iostream space alt max else out equal
1 #include"iostream" 2 #include"stdio.h" 3 using namespace std; 4 typedef long long ll; 5 6 ll f(ll n) 7 { 8 ll fn=0,ntemp=n; 9 ll step; 10 for(step=1;ntemp>0;step*=10,ntemp/=10) 11 { 12 fn+=(((ntemp-1)/10)+1)*step; 13 if((ntemp%10)==1) 14 { 15 fn-=step-(n%step+1); 16 } 17 } 18 return fn; 19 } 20 21 ll get_max_fn_equal_n(ll upper_bound) 22 23 { 24 ll n=1,fn=0; 25 ll max=1; 26 while(n<=upper_bound) 27 { 28 fn=f(n); 29 if(fn==n) 30 { 31 max=n; 32 cout<<n++<<endl; 33 } 34 else if(fn<n) 35 n+=(n-fn)/10+1; 36 else 37 n=fn; 38 } 39 return max; 40 } 41 42 int main() 43 { 44 ll upper_bound=4000000000; 45 cout<<f(13)<<endl; 46 cout<<get_max_fn_equal_n(upper_bound); 47 return 0; 48 }
标签:close one iostream space alt max else out equal
原文地址:https://www.cnblogs.com/acm-jing/p/10371627.html