P8714 [蓝桥杯 2020 省 B2] 填空问题 题解
试题 A
依次枚举
#include<bits/stdc++.h>
using namespace std;
int cnt;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
for(int i=1;i<=2020;++i){
int j=i;
while(j){
if(j%10==2)++cnt;
j/=10;
}
}
cout<<cnt;
return 0;
}
可得答案
试题 B
枚举分子和分母,分子与分母互质就将计数器
#include<bits/stdc++.h>
using namespace std;
int cnt;
inline int gcd(int a,int b){
if(!b)return a;
return gcd(b,a%b);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
for(int i=1;i<=2020;++i)
for(int j=1;j<=2020;++j)
if(gcd(i,j)==1)
++cnt;
cout<<cnt;
return 0;
}
可得答案
试题 C
手算即可,方法不一,你也可以自己把表列出来。
可得答案
试题 D
直接处理闰年和每一天即可。
可得答案
试题 E
枚举每个二极管亮还是不亮。从某一个亮着的二极管开始做一次搜索,判断是否可以只通过亮着的二极管走到所有二极管。
可得答案
最终代码
#include<bits/stdc++.h>
using namespace std;
int ans[]={624,2481215,761,8879,80};
char n;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
cout<<ans[n-65];//65即为大写字母A
return 0;
}