PAT——Counting Ones

Counting Ones

题目

The task is simple: given any positive integer N, you are supposed to count the total number of 1’s in the decimal form of the integers from 1 to N. For example, given N being 12, there are five 1’s in 1, 10, 11, and 12.

Input Specification:
Each input file contains one test case which gives the positive N (≤2
30 ).

Output Specification:
For each test case, print the number of 1’s in one line.

Sample Input:

12
结尾无空行

Sample Output:

5
结尾无空行

AC代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,cnt=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		string s=to_string(i);
		for(int j=0;j<s.size();j++)
		if(s[j]=='1') cnt++;
	}
	cout<<cnt;
}

参考

PAT–049 Counting Ones(找规律)

上一篇:HDU6964 I love counting (字典树+莫队)


下一篇:2021“MINIEYE杯”中国大学生算法设计超级联赛(2)1004 - I love counting trie操作好题