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;
}

 

posted on 2025-11-23 17:08  王景迁  阅读(0)  评论(0)    收藏  举报

导航