对数计数器 | |
描述: |
小明在使用一个计数器,计数范围0~999999,小明第一次看计数器的时候,其读数为一个对数(即正反读是一样的,如12321),当出现下一个对数的时候,小明停止了计数。 |
运行时间限制: | 无限制 |
内存限制: | 无限制 |
输入: |
输入一个整数0~999999 |
输出: |
输出计数数量,非负整数 |
样例输入: |
123321
|
样例输出: |
1100
|
直接计算
import java.util.*; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNext()){ int x = in.nextInt(); int count = getCount(x); System.out.println(count); } in.close(); } public static int getCount(int num){ int count = 0; while(num<=999999){ num++; if(num==1000000){ num=0; count++; break; } if(!isPail(num)){ count++; }else{ count++; break; } } return count; } public static boolean isPail(int num){ if(num<=9) return true; int p = 1; int x = num; while(x>9){ x/=10; p*=10; } while(num>=10){ int l = num/p; int r = num%10; if(l!=r) return false; num%=p;// 去除第一位数 num/=10;// 去除最好一位数 p=p/100; } return true; } }
这个应该可以找出来规律的