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