1049. Counting Ones (30)
#include <iostream>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
int low, mid, high, d = 1, res = 0;
while(n >= d)
{
high = n / (d * 10);
mid = (n - high * d * 10) / d;
low = n % d;
if(mid == 0)
{
res += high * d;
}
else if(mid == 1)
{
res += high * d + low + 1;
}
else
{
res += (high + 1) * d;
}
d *= 10;
}
printf("%d\n", res);
system("pause");
return 0;
}
浙公网安备 33010602011771号