一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 · · · )上的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数,我们就称之为“好数”。给定一个正整数 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.注意程序的简洁以及逻辑的循环