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

114 阅读1分钟

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

 
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.注意程序的简洁以及逻辑的循环