UVa1225
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main()
{
int n = 0, end;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> end;
ostringstream oss;
vector<int> vi(10, 0);
for (int num = 1; num <= end; num++)
{
oss << num;
}
for (auto c : oss.str())
{
vi[c - '0']++;
}
for (auto iter = vi.begin(); iter != vi.end() - 1; iter++)
{
cout << *iter << ' ';
}
cout << vi.back() << endl;
}
return 0;
}
/*
2
3
13
*/
本文深入解析UVa1225 DigitCounting算法题,通过C++实现,展示如何统计从1到给定数字范围内每个数字出现的次数。代码中使用了字符串流和向量,对每个数字进行分解并计数。
7064

被折叠的 条评论
为什么被折叠?



