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

【蓝桥杯】好数

好数

  • 问题描述
  • 代码解释
  • 代码

好数

问题描述

一个整数如果按从低位到高位的顺序,奇数位 (个位、百位、万位 ⋯ ) 上的数字是奇数,偶数位 (十位、千位、十万位 ⋯ ) 上的数字是偶数,我们就称之为 “好数”。
给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。
输入格式
一个整数 N。
输出格式
一个整数代表答案。
样例输入 1
24
样例输出 1
7
样例输入 2
2024
样例输出 2
150
样例说明
对于第一个样例,24 以内的好数有 1、3、5、7、9、21、23,一共 7 个
评测用例规模与约定
对于 10% 的评测用例,1≤N≤100
对于 100% 的评测用例,1≤N≤10 7

代码解释

good函数:该函数用于判断一个数是否为好数。通过逐位检查,奇数位必须为奇数,偶数位必须为偶数。若某位不符合条件,立即返回0,否则返回1。

主函数:读取输入N,遍历从1到N的每个数,调用good函数检查是否为好数,统计符合条件的好数个数并输出。
该方法虽然简单,但在给定的问题规模下能够高效完成任务

代码

import java.util.Scanner;

public class Main {
  public static int good(int a){
    int t=1;
    while(a!=0){
      int x=a%10;
      if(t%2==1){
         if(x%2==0)
          return 0;
      }else{
        if(x%2==1)
          return 0;
      }
      a/=10;
      t++;
    }
    return 1;
  }

  public static void main(String[] args){
      Scanner sc=new Scanner(System.in);
      int n=sc.nextInt();//n<=10^7
      int count=0;
      for(int i=1;i<=n;i++){
      if(good(i)==1){
        count++;
      }
    }
    System.out.println(count);
  }
}

相关文章:

  • 青少年编程与数学 02-012 SQLite 数据库简介 01课题、数据库概要
  • 系统与网络安全------Windows系统安全(1)
  • MybatisPlus(SpringBoot版)学习第五讲:条件构造器和常用接口
  • java代码错误(二)
  • Episode, time step, batch, epoch
  • 数字人对嘴型Wav2Lip模型原理与源码详解(推理部分)
  • DFX架构详解:构建面向全生命周期的卓越设计体系
  • Nextjs15 - 服务端组件(RSC)与客服端组件
  • 线程状态及转换详解
  • 【大模型基础_毛玉仁】5.1 模型编辑简介
  • DCAT模型:双交叉注意力革新医学影像诊断,AUC 99.75%
  • spring security整体架构
  • 【Python语言基础】13、函数-03
  • day19
  • 【无标题】Java的基础准备
  • 基于python爬虫:requests+BeautifulSoup+MySQL/MongoDB(或:CSV、JSON等格式的文件)+...
  • Java版Manus实现来了,Spring AI Alibaba发布开源OpenManus实现
  • MySQL执行计划
  • 固定资产管理如何适配不同规模企业的发展需求?
  • C++中的智能指针
  • 东台做网站的/海外网站
  • 触屏版网站开发样式/软文吧
  • 网站建设怎样上传程序/关键词竞价排名名词解释
  • 网站建设服务热线/百度做广告推广怎么样
  • 天津做流产五洲网站/国内能用的搜索引擎
  • 冀州网站建设/免费建站哪个最好