回文数
描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输入
无
输出
按从小到大的顺序输出满足条件的四位十进制数,每个数字成一行。
样例:
1001 1111 1221 1331 1441 1551 ........
特殊回文
描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入
输入一行,包含一个正整数n。
输出
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例:
输入:
52
输出:
899998 989989 998899
特殊回文数的代码由回文数代码改编
代码如下:
回文数:
#include<stdio.h>
int main()
{
int i, m, k;
for (i = 100; i <= 1000; i++)
{
k = i;
m = 0;
while (k > 0)//生成回文数
{
m = m * 10 + k % 10;
k = k / 10;
}
if (m == i)//判断回文数并输出
printf("%d\n", i);
}
return 0;
}
特殊回文数:
#include<stdio.h>
int main()
{
int a, b, c, d, e;
scanf_s("%d", &e);
for (a = 10000; a <= 1000000; a++)
{
c = a;
b = 0;
while (c > 0)
{
b = b * 10 + c % 10;
c = c / 10;
}
if (b == a)//判断回文数是否成立并开始判断是否满足题第二条件即各项数字之和等于指定数
{
d = 0;
while (b > 0)//计算各项数之和
{
d = d + b % 10;
b = b / 10;
}
if (d == e)//判断回文数并输出
printf("%d\n", a);
}
}
return 0;
}
实际上如果回文数的算法熟悉了那么特殊回文数的算法也同样不难了
算是很基础的两道题
因为有联系所以放在一起了
之前看到站内许多大佬的解法过于复杂了点
这是简单解法
如果觉得此解法能帮到你请给一个点赞谢谢
本文介绍了如何使用简单方法编程解决回文数和特殊回文数问题,包括生成满足条件的四位和五/六位数,代码示例清晰易懂。
2230

被折叠的 条评论
为什么被折叠?



