Java实现 蓝桥杯VIP 算法训练 反置数
原创
©著作权归作者所有:来自51CTO博客作者热爱学习的发呆哥的原创作品,请联系作者获取转载授权,否则将追究法律责任
题目描述
一个整数的“反置数”指的是把该整数的每一位 数字的顺序颠倒过来所得到的另一个整数。如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。比如说,1245的反置数是 5421,而1200的反置数是21。请编写一个程序,输入两个整数,然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。要求:由 于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。
输入
输入只有一行,包括两个整数,中间用空格隔开。
输出
输出只有一行,即相应的结果。
样例输入
435 754
样例输出
199
import java.util.Scanner;
public class 反置数 {
public static void main(String[] args) {
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;
}
}