多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式 输入一行,包含一个正整数n。 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例输出 899998 989989 998899 数据规模和约定 1<=n<=54。 ~~~ //思路是把这个数当成字符串翻转,翻转后和原字符串相同即可 import java.util.Scanner; public class Main{ public static void main(String[] args) { int n = 0; Scanner input = new Scanner(System.in); n = input.nextInt(); for (int i = 10000; i < 1000000; i++) { if (translate(i,n)) { System.out.println(i); } } } private static boolean translate(int i,int n){ String temp = String.valueOf(i); if (sum(temp) != n) { return false; } StringBuilder builder = new StringBuilder(temp); builder = builder.reverse(); if (temp.equals(builder.toString())) { return true; } return false; } private static int sum(String temp){ int sum = 0; for (int i = 0; i < temp.length(); i++) { sum += (temp.charAt(i)-'0'); } return sum; } } ~~~