题目 3209: 蓝桥杯2024年第十五届省赛真题-好数

一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 · · · )上的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数,我们就称之为"好数"。给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。

java 复制代码
import java.util.Scanner;

public class java {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = 2;
        int c = 0;
        int d = 0;
        boolean e = true;
        while(a!=0){
            c = a;
            b = 2;
            e = true;
            if(c<10&&c%2!=0){
                d++;
                a--;

                continue;
            }
            if(c%2==0){
                a--;

                continue;
            }

        while ((c/10)>=1) {
            c=c/10;
            if(b%2!=0){

                if(c%2==0) {e=false;break;}

            }else{

                if(c%2!=0) {e=false;break;}

            }
            b++;

        }
        if(e==true){d++;}

        a--;}
        System.out.println(d);
   }

}

总结:

1.注意continue break boolean搭配使用

2.注意不同情况分类处理

3.注意程序的简洁以及逻辑的循环

相关推荐
QCoding7 分钟前
Spring AI Alibaba Graph实战:从ReAct Agent到Workflow,企业AI复杂流程该如何编排?
java·人工智能
用户094248568039 分钟前
第25章:Java虚拟线程(Project Loom)实战与调度协作
java·jvm
砚底藏山河15 分钟前
量化实战:截面因子有效性检验(IC 分析与分层回测)
java·python·金融·maven
wuminyu16 分钟前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
Elastic 中国社区官方博客16 分钟前
使用 Lucene 搜索你的 Bean — 索引
java·大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
code2cat22 分钟前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose36 分钟前
FormData数据处理
开发语言·前端·javascript·表单数据
她说彩礼65万39 分钟前
C语言 堆区和栈区
java·linux·c语言
Zguigo1 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++
-Marks-1 小时前
【C++编程】STL容器(二)--- vector底层模拟实现(常用接口实现 | 扩容机制 | 深浅拷贝 | 迭代器失效)
开发语言·c++·vector·内存管理·迭代器失效·vector底层模拟实现