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

蓝桥刷题note11(好数)

1,好数

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

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

法一:用position作为索引,用来表示当前位为偶数位还是奇数位。

#include <stdio.h>
#include <stdlib.h>

_Bool isgoodnum(int x){
  int position=1;
  if(x==0){
    return 0;
  }
  while(x>0){
  int digit=x%10;
  if(position%2==1){
    if(digit%2!=1){
      return 0;
    }
  }else{
    if(digit%2!=0){
      return 0;
    }
   }
   x/=10;
   position++;
  }
  return 1;
}

int main(int argc, char *argv[])
{
  // 请在此输入您的代码
  int n=0,ans=0;
  scanf("%d",&n);
  for(int i=0;i<=n;i++){
    if(isgoodnum(i)){
      ans++;
    }
  }
  printf("%d",ans);
  return 0;
}

法二:利用一个数为偶数(奇数)则个位数一定为偶数(奇数)的性质 ,可以不用单独获取             每一位数,只需要每次去除末位数即可。

#include <stdio.h>
#include <stdlib.h>

_Bool isgoodnum(int x){
  if(x==0){
    return 0;
  }
  while(x>0){
    if(x%2!=1){
      return 0;
    }else{
      x/=10;
      if(x%2!=0){
        return 0;
      }else{
        x/=10;
      }
    }
  }
  return 1;
}

int main(int argc, char *argv[])
{
  // 请在此输入您的代码
  int n=0,ans=0;
  scanf("%d",&n);
  for(int i=0;i<=n;i++){
    if(isgoodnum(i)){
      ans++;
    }
  }
  printf("%d",ans);
  return 0;
}

注:0需要被排除在外,因为它仅有一位数且为偶数。 

http://www.dtcms.com/a/98291.html

相关文章:

  • 【湖北工业大学2025年ACM校赛(同步赛)】题解
  • 【数据结构】[特殊字符] 并查集优化全解:从链式退化到近O(1)的性能飞跃 | 路径压缩与合并策略深度实战
  • Windows catime 番茄时钟-v1.0.5-开源简洁的 Windows 倒计时工具,支持番茄时钟功能
  • Enhanced PEC-YOLO:电力施工场景安全装备检测的轻量化算法解析
  • 树莓派超全系列文档--(12)如何使用raspi-config工具其一
  • 处理 Linux 信号:进程控制与异常管理的核心
  • JSP(实验):带验证码的用户登录
  • JavaScript基础知识初步掌握
  • 【免费】2007-2019年各省地方财政文化体育与传媒支出数据
  • 19839 Dijkstra求最短路1
  • kettle从入门到精通 第九十三课 ETL之kettle kettle 调用web service接口5种方法,一文彻底搞懂
  • c++学习系列----005.c++模板(类模板)
  • 人工智能在自然语言处理中的应用:从理论到实践的探索
  • 在一个scss文件中定义变量,在另一个scss文件中使用
  • 【Linux】——文件(上)
  • 缓存使用纪要
  • mcp 接freecad画齿轮
  • 《Python Web网站部署应知应会》No4:基于Flask的调用AI大模型的高性能博客网站的设计思路和实战(上)
  • 阅读分析Linux0.11 /boot/bootsect.s
  • 显示文献是几区的免费科研插件easyScholar
  • 基于盛科CTC7132交换机核心模块
  • SpringBoot (一) 自动配置原理
  • 字典翻转教学
  • 买卖股票的最佳时机(121)
  • Kubernetes对象基础操作
  • 现代几何风海报标签徽标logo设计psai衬线英文字体安装包 Myfonts – Nexa Serif Font Family
  • 精通React JS中的API调用:示例指南
  • RAG基建之PDF解析的“无OCR”魔法之旅
  • ESP-01模块连接手机热点问题及解决方法
  • nacos 外置mysql数据库操作(docker 环境)