zoukankan      html  css  js  c++  java
  • java实现第六届蓝桥杯生成回文数

    生成回文数

    所谓回文数就是左右对称的数字,比如:
    585,5885,123321…
    当然,单个的数字也可以算作是对称的。

    小明发现了一种生成回文数的方法:
    比如,取数字19,把它与自己的翻转数相加:
    19 + 91 = 110,如果不是回文数,就再进行这个过程:
    110 + 011 = 121 这次是回文数了。

    200以内的数字中,绝大多数都可以在30步以内变成回文数,只有一个数字很特殊,就算迭代了1000次,它还是顽固地拒绝回文!

    请你提交该顽固数字,不要填写任何多余的内容。

    答案:196

    public class Main {
        
        public long Reverse(long n) {
            int len = new String(""+n).length();
            long[] A = new long[len];
            int i = 0;
            while(n > 0) {
                A[i++] = n % 10;
                n = n / 10;
            }
            long result = 0;
            for(i = 0;i < len;i++)
                result = result * 10 + A[i];
            return result;
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            for(long i = 0;i <= 200;i++) {
                int count = 0;
                long a = i;
                long b = test.Reverse(a);
                while(a != b) {
                    a = a + b;
                    b = test.Reverse(a);
                    count++;
                    if(count > 1000) {
                        System.out.println("i = "+i+", a = "+a+", b = "+b);
                        break;
                    }
                }
            }
        }
    }
    
  • 相关阅读:
    谢尔排序(缩小增量排序)
    折半插入排序
    插入排序
    选择排序
    冒泡排序
    ul+js模拟select+改进
    ul+js模拟select
    前端面试题
    js数组去重的三种常用方法总结
    使用PHP实现文件上传和多文件上传
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077219.html
Copyright © 2011-2022 走看看