Advertisement

刷题|回文数字

阅读量:

回文数字问题分析

问题描述

观察数值:12321,123321,它们具备一个共同特性,无论从左至右阅读还是从右至左阅读,其排列顺序均保持一致。这类数字被定义为回文数字。

本题旨在寻找若干个五位数的十进制数值,需满足以下条件:
该数值中各个数字之和等于输入的整数。将所有符合条件的数值按照由小到大的顺序排列后输出,每个数值单独占一行。

输入格式

一个正整数 n (10 < n < 100),用于表示所需满足的各位数字之和。

输出格式

若干行内容,每行包含一个符合要求的五位数。
这些数值应按照从小到大的顺序进行排列。
若不存在符合要求的数值,则输出:-1

样例输入

44

样例输出

99899

样例输入

55

样例输出

-1

问题解析

核心步骤在于对五位数的回文结构进行分解,验证该回文数值的总和是否与给定数值n相等,若满足条件则输出对应的回文数字。依次遍历所有可能的五位回文数字,最终确认是否存在符合条件的回文数字,若未找到则返回-1。

例如:当输入n(10 < n < 100)时,五位回文数字的形式为ABCBA(9999 < ABCBA < 100000),需判断(A + B) * 2 + C 是否等于n,或者是否不等于n。

代码答案呈现

JAVA代码

复制代码
 import java

全部评论 (0)

还没有任何评论哟~