zoukankan      html  css  js  c++  java
  • HDOJ 1282 回文数猜想(回文串类)

    Problem Description
    一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止。例如:68变成154(68+86),再变成605(154+451),最后变成1111(605+506),而1111是回文数。于是有数学家提出一个猜想:不论开始是什么正整数,在经过有限次正序数和倒序数相加的步骤后,都会得到一个回文数。至今为止还不知道这个猜想是对还是错。现在请你编程序验证之。

    Input
    每行一个正整数。
    特别说明:输入的数据保证中间结果小于2^31。

    Output
    对应每个输入,输出两行,一行是变换的次数,一行是变换的过程。

    Sample Input
    27228
    37649

    Sample Output
    3
    27228—>109500—>115401—>219912
    2
    37649—>132322—>355553

    题意能看懂吧。。代码有注释。
    基础题,实在没什么好解释的。

    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                int n =sc.nextInt();
                String str = n+"";
                String strs = "";
                String strn=n+"";
                for(int i=str.length()-1;i>=0;i--){
                    strs=strs+str.charAt(i);
                }
    //          System.out.println(str);
    //          System.out.println(strs);
                int n2=Integer.parseInt(strs);
                int time=0;
                while(!ishui(str)){
                    //System.out.println(n);
                    n=n+n2;
                    str=""+n;
                    strs="";//必须把strs赋为空
                    for(int i=str.length()-1;i>=0;i--){
                        strs=strs+str.charAt(i);
                    }
                    n2=Integer.parseInt(strs);
                    strn=strn+"--->"+str;
                    time++;
                }
                System.out.println(time);
                System.out.println(strn);
            }
        }
    
        //判断str是不是回文串的函数
        private static boolean ishui(String str) {
            boolean isFalg = true;
            for(int i=0;i<str.length()/2;i++){
                if(str.charAt(i)!=str.charAt(str.length()-1-i)){
                    return false;
                }
            }
            return true;
        }
    
    }
    
  • 相关阅读:
    (二)vue.js axios封装(参考)
    (一)vue.js 项目搭建(参考)
    Centos7 Mysql配置安装
    自我学习及提高
    (一)Angular2 项目搭建教程(参考)
    WordPress学习网站
    Excel A表与B表对比 并将A表的id写到B表中
    C# 递归文件夹 文件名 路径
    C# 递归生成树(无限级)
    Windows API Code Pack 获取文件缩略图
  • 原文地址:https://www.cnblogs.com/webmen/p/5739318.html
Copyright © 2011-2022 走看看