A1049 Counting Ones [简单数学]

在这里插入图片描述

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	int n, a = 1, ans = 0;
	int left, now, right;
	cin >> n;
	while (n / a != 0)
	{
		left = n / (a * 10); //左侧高位的数
		now = n / a % 10; //第K位上的数字
		right = n % a; //右侧低位的数
		if (now == 0) ans += left * a;
		else if (now == 1) ans += left * a + right + 1;
		else ans += (left + 1) * a;
		a *= 10;
	}
	cout << ans << endl;
}


posted @ 2020-07-15 17:18  _Hsiung  阅读(39)  评论(0编辑  收藏  举报