如何在一个范围内找出所有的回文数?
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;
}
}
}
现在给定一个闭区间[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;
}
}
}
相关文章推荐
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{
- 找出一个范围中的所有完数
- 在一个长度为n的数组里的所有数字都在1到n-1的范围内。 有一个数字重复若干次,找出这个数字。
- indexOf() 如何判断一个元素在指定数组中是否存在? 找出指定元素出现的所有位置? indexOf()方法 是正序查找,lastIndexOf()是倒叙查找
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{
- 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。
- 请教:在一个在方法段的异常处理里面,如何获取当前方法输入的所有参数值。
- 如何取得一个表的所有字段名用逗号分割
- 如何显示一个数据库里的所有表(ACCESS)
- 如何使用perl遍历一个目录下的所有文件
- 一个可以找出源代码中所有中文的工具
- 【小技巧】如何得到一个网页的所有a标记 herf 链接代码
- F:如何用正则表达式或别的方式将一个所含html元素的所有html元素除掉?
- 如何用C遍历一个文件夹中的所有文件
- 如何查一个表中所有字段是否包含某个关键词
- 也谈如何dump一个程序集中的所有类型和方法的IL源代码
- 一个小议题:火烧山时,如何判断发生火灾的具体的范围(一)
- 如何获取一个List属性的所有值
- 如何显示一个数据库里的所有表(ACCESS)