A1049 Counting Ones (30分)

Posted tsruixi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
", ans);
	return 0;
}

以上是关于A1049 Counting Ones (30分)的主要内容,如果未能解决你的问题,请参考以下文章

1049 Counting Ones (30 分)难度: 难 / 知识点: 分治 / DP

PAT甲级1049 Counting Ones (30 分)(类似数位DP思想的模拟)

PAT 甲级 1049 Counting Ones (30 分)(找规律,较难,想到了一点但没有深入考虑嫌麻烦)***

PAT 1049 Counting Ones [难]

PAT.1049 Counting Ones(排列组合)

PAT.1049 Counting Ones(排列组合)