fork(3) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int TheNumberOfDigits(int n)//Количество цифр в числе
  5. {
  6. int i=1;
  7. while ((n/=10)>0)
  8. {
  9. i++;
  10. }
  11. return i;
  12. }
  13.  
  14. int sc(int a) //Сумма цифр числа
  15. {
  16. int sum = 0;
  17. while (a/1>0)
  18. {
  19. sum+=a%10;
  20. a/=10;
  21. }
  22. return sum;
  23. }
  24.  
  25. int main()
  26. {
  27. int n, v, t, x, a;
  28. cin>>n;
  29. a=10;
  30. unsigned int b=100;
  31. t=TheNumberOfDigits(n);
  32. x=n;
  33. for (int i=1;i<t;i++)
  34. {
  35. v=(n/b)*b+(n%b/a-1)*a+a-1;
  36. if (sc(v)>sc(x))
  37. x=v;
  38. a*=10;
  39. b*=100;
  40. }
  41. cout<<x<<endl;
  42. return 0;
  43. }
Success #stdin #stdout 0s 3416KB
stdin
2147483647
stdout
1999999999