>>分享数据结构和算法相关的知识和技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19883 个阅读者 刷新本主题
 * 贴子主题:  用Java实现回文数算法 回复文章 点赞(0)  收藏  
作者:javathinker    发表时间:2020-03-15 12:08:00     消息  查看  搜索  好友  复制  引用

   1、回文数: 一种数字,如:12321, 这个数字正读是12321,倒读也是12321, 即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。

        回文数判别算法(java实现)
import java.io.BufferedReader;

import java.io.InputStreamReader;

public class HuiWenShu {

   public static void main(String[] args) throws Exception{

        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        System.out.print("Please input texts:");

        String inputString=br.readLine();

        int input = Integer.parseInt(inputString);

        checkHWS(input);
  }                                                                                                                                                                                        }

    //判断一个数是否为回文数

    public static void checkHWS(int input){

        int reverse = 0,temp = input;    

        while(temp>0){

            reverse = reverse*10+temp%10;

            temp = temp/10;

        }

        if(input==reverse)System.out.println(input+"是回文数!");

        else System.out.println(input+"不是回文数!");
   }
}
                                                                                                                                                                                            

2、 平方回数 :一个回文数,它同时还是某一个数的平方,这样的数字叫做平方回数 。例如:121。

     算法要求:求出规定范围内的所有平方回数(java实现)

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class HuiWenShu {

    public static void main(String[] args) throws Exception{

        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        System.out.print("Please input start:");

        String startString=br.readLine();

        int start = Integer.parseInt(startString);

        System.out.print("Please input end:");

        String endString=br.readLine();

        int end = Integer.parseInt(endString);

        getAllHWS(start,end);

    }

    //判断一个数是否为回文数

    public static boolean checkHWS(int input){

        int reverse = 0,temp = input;    

        while(temp>0){

            reverse = reverse*10+temp%10;

            temp = temp/10;

        }

        if(input==reverse)return true;

        else return false;

    }

   //输出给定范围内的,所有平方回数

  public static void getAllHWS(int start,int end){

        double extractionOfStart =  Math.sqrt(start);

        int startTemp = (int) Math.ceil(extractionOfStart);

        double extractionOfEnd =  Math.sqrt(end);

        int endTemp = (int) Math.floor(extractionOfEnd);

        for(int i = startTemp;i<=endTemp;i++){

            int temp = i*i;

            boolean flag = checkHWS(temp);

            if(flag)System.out.println(temp);    

        }

    }

}

----------------------------
原文链接:https://blog.51cto.com/6924918/1259514

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-20 11:56:15 重新编辑]
  Java面向对象编程-->多线程(上)
  JavaWeb开发-->Web运作原理(Ⅲ)
  JSP与Hibernate开发-->数据库事务的并发问题的解决方案
  Java网络编程-->用Swing组件展示HTML文档
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->创建综合购物网站应用
  HAProxy 之 算法介绍
  haproxy调度算法
  基于SQL的数据库算法研究
  Haproxy支持的调度算法
  算法之原码、补码、反码
  Citrix Netscaler负载均衡算法
  令牌桶算法
  活动安排问题(贪心算法)
  无向图的最短路径求解算法之——Dijkstra算法
  Java算法题:有关100阶楼梯的算法
  字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序...
  LinkedList,LinkedHashMap,LruCache源码解析
  比较迭代和递归:人理解迭代 ,神理解递归
  技术和算法的抉择
  好书推荐:《小灰的算法之旅》
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。