lqb 基础练习 回文数

时间:2024-12-17 12:36:26

基础练习 回文数

时间限制:1.0s   内存限制:512.0MB
问题描述
  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
  按从小到大的顺序输出满足条件的四位十进制数。
分析:
  回文数的判断只用判断到数字的中间位数,即可。
取一个数的不同位数的值的方法:
 while (temp)
{
A[j ++] = temp % ;
temp /= ;
}

C/C++代码实现(AC):

 #include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <stack>
#include <map>
#include <queue> using namespace std; inline void solve()
{
int temp1[];
for (int i = ; i <= ; ++ i)
{
int j = , temp = i;
while(temp)
{
temp1[j ++] = temp % ;
temp /= ;
}
bool flag = true;
for (int k = ; k <= j / ; ++ k)
{
if (temp1[k] != temp1[j - - k])
{
flag = false;
break;
}
}
if (flag) printf("%d\n", i);
}
return ;
} int main()
{
// 调用solve(),判断是否满足条件
solve();
return ;
}