当前位置: 首页 > news >正文

好数(蓝桥杯2024省赛B组)

题目描述

一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位……)上的数字是奇数,偶数位(十位、千位、十万位……)上的数字是偶数,我们就称之为“好数”。

给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。

输入格式

一个整数 N。

输出格式

一个整数代表答案。

输入输出样例

输入 #1

24

输出 #1

7

输入 #2

2024

输出 #2

150

说明/提示

样例 1 解释

24 以内的好数有 1,3,5,7,9,21,23,一共 7 个。

数据规模与约定

  • 对于 10% 的测试数据,1≤N≤100。
  • 对于全部的测试数据,1≤N≤10^{7}

解答:使用数位

个位为0,十位为1,逐渐增加,这样数位%2为0,就是奇数位

#include <iostream>
using namespace std;
bool isGoodNumber(int num) {
    int digitPosition = 0; 
    while (num > 0) {
        int digit = num % 10;
        if ((digitPosition % 2 == 0 && digit % 2 != 1) || (digitPosition % 2 == 1 && digit % 2 != 0)) {
            return false;
        }
        num /= 10;
        digitPosition++;
    }
    return true;
}

int main() {
    int n;
    cin >> n;
    int count = 0;
    for (int i = 1; i <= n; i++) {
        if (isGoodNumber(i)) {
            count++;
        }
    }
    cout << count;
    return 0;
}

相关文章:

  • Win11重新设计开始菜单 变成iOS样式
  • 【Linux】Git的简单使用
  • 刷题 | 牛客 - js简单10题(更ing)1/10知识点解答
  • pdf转latex
  • 关于GEO的100个核心问题
  • Linux中进程
  • 微服务注册中心选择指南:Eureka vs Consul vs Zookeeper vs Nacos
  • Redis的事务
  • Cadence 修改 铜和pin脚 连接属性 和 光绘参数修改
  • AI Agent开发大全第二十三课-基于本地模型开发文本转语音
  • G1学习打卡
  • 1.5-APP的架构\微信小程序的架构
  • 【元表 vs 元方法】
  • JVM调优
  • WVP-PRO配置与部署
  • 人工智能——AdaBoost算法
  • ASP.NET Web 中进行 GET/POST 提交并接收返回数据的几种方案
  • 视频下载工具yt-dlp_macos
  • Linux学习——了解和熟悉Linux系统的远程终端登录
  • java设计模式-装饰者模式
  • 石油大学网页设计与网站建设/怎么搭建属于自己的网站
  • 深圳网站定制公司/百度seo和谷歌seo有什么区别
  • 网易企业邮箱价格表/优化营商环境个人心得
  • 公司做网站之前要准备什么软件/如何线上推广引流
  • 网站静态页面做网站/google关键词搜索技巧
  • 漳浦县网站建设/百度链接提交