A1049 Counting Ones (30分)

一、技术总结

  1. 分三种情况:

二、参考代码

#include<iostream>
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;
		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;
	}
	printf("%d\n", ans);
	return 0;
}
posted @ 2020-06-29 22:25  睿晞  阅读(94)  评论(0编辑  收藏  举报