Сообщение Re: Совсем чуть-чуть от 13.03.2015 7:30
Изменено 13.03.2015 7:31 Warlock78
inline int PositionsSum(int n)
{
int sum = 0;
while (n)
{
sum += n % 10;
n /= 10;
}
return sum;
}
inline int FindMaxPositionsSumMaxNumber(const int x)
{
if (x < 10)
return x;
int pos = 10;
for (int i = x; i > 1000; i /= 10)
pos *= 10;
int res = x / pos * pos - 1;
return PositionsSum(x) >= PositionsSum(res) ? x : res;
}
int main(void)
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int num = 0;
scanf("%d", &num);
printf("%d\n", FindMaxPositionsSumMaxNumber(num));
return 0;
}
Re: Совсем чуть-чуть