题目描述
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。
例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。
思路
1.测试范围最大有1000位 应该用string接收
2.按位统计就行了
代码
#include <bits/stdc++.h>
#define PII pair<int, int>
typedef long long LL;
const int inf = 0x3f3f3f3f;
const int N = 500005;
using namespace std;
string n;
int cnt[10];
int main(){
cin >> n;
for(auto c : n) cnt[c - '0']++;
for(int i = 0; i < 10; i++)
if(cnt[i])
cout << i << ":" << cnt[i] << endl;
return 0;
}