例题讲解
特别数的和
#include<iostream>
using namespace std;
bool ifspecial(int n){
while(n){
if(n%10==0||n%10==1||n%10==2||n%10==9){
return true;
}
n/=10;
}
return false;
}
int main(){
int n;
cin>>n;
int sum=0;
for(int i=1;i<=n;i++){
if(ifspecial(i)){
sum+=i;
}
}
cout<<sum<<endl;
return 0;
}
反倍数
#include<iostream>
using namespace std;
int a,b,c;
bool f(int x){
return x%a!=0&&x%b!=0&&x%c!=0;
}
int main(){
int n;cin>>n;
cin>>a>>b>>c;
int ans=0;
for(int i=1;i<=n;i++){
if(f(i)){
ans++;
}
}
cout<<ans<<'\n';
return 0;
}
找到最多的数
#include<bits/stdc++.h>
using namespace std;
map<int,int> mp;
int main(){
int n,m;cin>>n>>m;
for(int i=1;i<=n*m;i++){
int x;cin>>x;
mp[x]++;
}
for(const auto&[x,y]:mp){
if(2*y>n*m)cout<<x<<'\n';
}
return 0;
}
枚举算法介绍
解空间的类型
循环枚举解空间
在这里插入图片描述