- 前言
- 一、纯质数
- 思路
- 代码
- 二、完全日期
- 思路
- 代码
蓝桥杯2021年国赛B组,填空题(C++)
一、纯质数 思路按照题意的要求,就是检查每个数的每一位是否是质数,并且这个数是否是质数,如果这两点都符合,就是纯质数。这里推荐用string库来解决问题。
答案:1903
代码#includeusing namespace std; int ans=1; bool judge(int n) { for(int i=2;i<=sqrt(n);i++) { if(n%i==0) { return false; } } string s=to_string(n); if(s.find("1")!=-1||s.find("4")!=-1||s.find("6")!=-1||s.find("8")!=-1||s.find("9")!=-1||s.find("0")!=-1) { return false; } return true; } int main() { for(int i=3;i<=20210605;i++) { if(judge(i)) { ans++; } } cout< 二、完全日期 思路 这个题目主要是需要额外考虑闰年对2月份天数的印象,剩下的个人感觉按照题目要求模拟就行,日期类的c++感觉没有太好的办法解决,主要还是模拟整个日期累加的过程
答案:977
代码#includeusing namespace std; int count_sum(int n) { int temp=0; while(n!=0) { temp+=n%10; n/=10; } return temp; } int main() { int year=2001; int month=1; int day=1; int sum=0; int ans=0; while(year<=2021) { month=1; if(year%400==0||(year%4==0&&year%100!=0)) //闰年 { while(month<=12) { day=1; if(month==4||month==6||month==9||month==11) { while(day<=30) { sum=0; sum=count_sum(year)+count_sum(month)+count_sum(day); if((double(sqrt(sum))-int(sqrt(sum)))==0) { ans++; } day++; } month++; } else if(month==2) { while(day<=29) { sum=0; sum=count_sum(year)+count_sum(month)+count_sum(day); if((double(sqrt(sum))-int(sqrt(sum)))==0) { ans++; } day++; } month++; } else { while(day<=31) { sum=0; sum=count_sum(year)+count_sum(month)+count_sum(day); if((double(sqrt(sum))-int(sqrt(sum)))==0) { ans++; } day++; } month++; } } } else //非闰年 { while(month<=12) { day=1; if(month==4||month==6||month==9||month==11) { while(day<=30) { sum=0; sum=count_sum(year)+count_sum(month)+count_sum(day); if((double(sqrt(sum))-int(sqrt(sum)))==0) { ans++; } day++; } month++; } else if(month==2) { while(day<=28) { sum=0; sum=count_sum(year)+count_sum(month)+count_sum(day); if((double(sqrt(sum))-int(sqrt(sum)))==0) { ans++; } day++; } month++; } else { while(day<=31) { sum=0; sum=count_sum(year)+count_sum(month)+count_sum(day); if((double(sqrt(sum))-int(sqrt(sum)))==0) { ans++; } day++; } month++; } } } year++; } cout< 感谢Mr_渣渣辉 博主提供的题目集,图片出自2021第十二届蓝桥杯国赛C/C++大学B组题解_Mr_渣渣辉的博客-CSDN博客_2021蓝桥杯c语言b组答案



