PTA——1021 个位数统计、1022 D进制的A+B、1023 组个最小数
1021 个位数统计
解决代码
哈希表即可解决。
#include<bits/stdc++.h>
using namespace std;
int hash_[1000];
int main(){
string str;
cin>>str;
for(int i=0;i<str.size();i++){
hash_[str[i]]++;
}
for(int i='0';i<='9';i++){
if(!hash_[i]) continue;
cout<<(char)i<<":"<<hash_[i]<<endl;
}
return 0;
}
1022 D进制的A+B
解决代码
模拟一遍进制转换即可。
#include<bits/stdc++.h>
using namespace std;
vector<int> num;
int main()
{
int a,b,sys;
cin>>a>>b>>sys;
long long sum=a+b;
int x;
while(sum>=sys){
x=sum%sys;
num.push_back(x);
sum/=sys;
}
num.push_back(sum);
reverse(num.begin(),num.end());
for(int i:num){
cout<<i;
}
return 0;
}
1023 组个最小数
解决代码
注意一下num数组中的数不一定是十个就好了。
#include<bits/stdc++.h>
using namespace std;
vector<int> num;
int main(){
int x;
for(int i=0;i<10;i++){
cin>>x;
for(int j=0;j<x;j++) num.push_back(i);
}
int index=0;
for(int i=0;i<num.size();i++){
if(num[i]!=0){
cout<<num[i];
index=i;
break;
}
}
for(int i=0;i<num.size();i++){
if(i==index) continue;
cout<<num[i];
}
}
版权声明:本文为qq_45929428原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。