【第16届蓝桥杯C++】--- 2025

[复制链接]
发表于 2025-9-21 19:44:10 | 显示全部楼层 |阅读模式
hello呀,小同伴们,这是第16届蓝桥杯第二道填空题,和第一道填空题一样也是非常基础的题目,有C语言基础基本都可以解,下面我讲讲我其时本身的思绪和想法,如果你们有更优化的代码和思绪,也可以分享分享



这道题目也是思量 / 和 % 的基本利用符运算,我们可以设置一个循环,每次%这个数x,拿到个位这个数,然后用三个变量分别统计 2, 0, 5 的个数,末了检察变量个数是否符合有俩个2,一个0,一个5即可,如果满意,那么就符合2025这道题
  1. #include <iostream>
  2. using namespace std;
  3. int n1, n2, n3;//分别统计0,2, 5个数
  4. long long cnt;//统计有多少个2025
  5. int main()
  6. {
  7.         for(long long i = 1; i <= 20250412; ++i)
  8.         {
  9.                 long long tmp = i;//用临时变量tmp保存这个i,不可以让i执行下面代码,否则i会被改变
  10.                 while(tmp)
  11.                 {
  12.                         //拿到个位数,看是否有0,2,5,用计数器++
  13.                         if(tmp % 10 == 0) ++n1;
  14.                         else if(tmp % 10 == 2) ++n2;
  15.                         else if(tmp % 10 == 5) ++n3;
  16.                        
  17.                         tmp /= 10;//去掉个位数
  18.                 }
  19.                 if(n1 >= 1 && n2 >= 2 && n3 >= 1) cnt++;//如果这个数包含 1个0  2个2  1个5 ,那么cnt++
  20.                
  21.                 n1 = n2 = n3 = 0;//计数器要清空,用于下一个数统计
  22.         }
  23.         cout << cnt << endl;
  24.         return 0;
  25. }
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表