Java初学者尝试计算任意位数回文数
2017-10-03 15:06
369 查看
public static int count(int x) { int count = 0; //设置一个统计变量,用来统计回文数的个数。 for (int i = test.from(x); i < test.from(x + 1); i++) { boolean flag = true; //定义一个boolean类型的变量。 for (int j = 0; j < x / 2; j++) { if (test.getArr(i, x)[j] != test.getArr(i, x)[x - 1 - j]) {//这里用!=比==的好处在于可以立即终止循环。 flag = false; break; } } if (flag) {//当所取数字满足回文数的时候再统计。 System.out.println(i); count++; } } return count; } ************************************** public static int from(int x) { int num = 1; for (int i = 1; i < x; i++) { num *= 10; } return num; } *************************************** /** 用数组的思想对数字进行拆分 */ public static int[] getArr(int num, int x) { int[] arr = new int[x]; for (int i = 0; i < x; i++) { arr[i] = num % 10; num /= 10; } return arr; } /*当然 也可以用数字转换String再转换数组的方法,那样更为简单,但总感觉没有上文的逻辑性强。 个人觉得还有一种算法。比如说要计算五位数的回文数个数: 那么前两位一共有10-99 90种选择 第三位有0-9 10种选择 合计90*10=900个。 如果是6位: 那么前三位将有100-999 900种选择;也就是说回文数有900个。 请问各位博友还有没有其他思路。还望各位大牛不吝赐教。 */
相关文章推荐
- java计算任意位水仙花数示例(回文数)
- Java算法题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
- Java 中计算任意2个日期之间的工作天数
- java---计算出现次数最大的任意字符
- java产生任意位数的随机字符
- java小练习(从键盘上输入一个整数,计算各个位数之和)
- Java计算某天任意天数后是哪一天
- 计算Java中任意一个方法的执行时间的工具类
- JAVA 计算地球上任意两点(经纬度)距离
- JAVA 根据经纬度计算地球上任意两点距离GPS
- 使用MicroPython计算任意位数圆周率
- Java面试题 - 使用二分法计算任意整数在任意整数数组中的下标,不存在则返回-1
- C语言——计算输入的任意数的位数(两种方法)
- 计算一个任意数值的位数
- Java四舍五入保留任意位数小数
- leetcode解题之303# Range Sum Query - Immutable Java版 (多次计算数组内任意两个下标之间的和)
- 从键盘上输入一个三位整数,计算各个位数之和(java)
- JAVA 计算地球上任意两点(经纬度)距离
- 计算任意一个图生成树的个数——Kirchhoff 的Matrix Tree 方法Java实现
- JAVA 计算地球上任意两点(经纬度)距离