蓝桥杯练习题
一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。
- 如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。
- 比如说,1245的反置数是5421,而1200的反置数是21。请编写一个程序,输入两个整数,
- 然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。
- 要求:由于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。
import java.util.Scanner;
/*反置数
* 一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。
* 如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。
* 比如说,1245的反置数是5421,而1200的反置数是21。请编写一个程序,输入两个整数,
* 然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。
* 要求:由于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。
*/
public class 反置数 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
System.out.println(f(f(n)+f(m)));
}
private static int f(int n) {
int k=0;
int a[]=new int[1000];
while(n!=0) {
a[k]=n%10;
n=n/10;
k++;
}
int sum=0;
for(int i=0;i<k;i++)
sum=sum*10+a[i];
return sum;
}
}