您的位置:首页 > 其它

如何在一个范围内找出所有的回文数?

2014-06-06 19:52 429 查看
/*

现在给定一个闭区间[a,b],求这个区间里有多少个回文数。 比如[20,30],只有一个回文数那就是22.

输入描述: 输入包含多组测试数据,每组测试数据包含两个整数a,b, (0<a<=b<10^6)。

输出描述: 对于每组测试数据输出相应的答案。

*/

原本以为这道题是非常简单的,但开始做的时候还是有点棘手,主要问题是引用传递,把值传给谁?通过层层回顾和大胆探索,终于做出来了!可能代码还不够简洁,大家觉得哪里还可以修改,指点一下哈!谢谢!

import java.util.Scanner;

class HuiWenShu

{

private static final int MAX=1000000; //定义最大值

private static final int MIN=1; //定义最小值

public static void main(String[] args)

{

Scanner s=new Scanner(System.in);

System.out.println("请输入一个区间:");

while(true){

int a=s.nextInt(),b=s.nextInt();

doit(a,b);

}

}

public static void doit(int a,int b) //以区间头作为参数的方法,求出该区间中的所有回文数

{

if(a>b||a<MIN||b>MAX) //判断是否符合区间范围,如果不符合,结束异常

throw new ArithmeticException("区间不符");

int s=0;

System.out.print("区间["+a+","+b+"]的回文数有:");

while(a<=b){

int c=a;

int temp=c;

while(c!=0){

s=s*10+c2%10;

c=c/10;

}

if(s==temp){

System.out.print(temp+" ");

}

a++;

s=0;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐