C语言:查找回文数

题目描述

回文数是一种特殊的数,从左边读和从右边读是一样的,比如123321就是一个回文数。现在给定一个正整数n(n≤54),编程求出一个回文数,要求该回文数的各位数字之和等于n,且该回文数大于10000,小于等于99999。如果有多个满足条件的回文数,输出最小的这个;如果没有满足条件的回文数,输出"Not found"。

输入输出格式

输入格式

一个正整数n
输出格式

按要求找到的回文数,如果没找到,输出"Not found"

完整代码

复制代码
#include <stdio.h>
#include <math.h>
#include <string.h>
int huiwen(int n) //判断回文数
{
	int t=n;
	int sum=0;
	while(t)
	{
		sum=sum*10+t%10;
		t=t/10;
	}
	if(sum==n)
	{
		return 1;
	}else{
		return 0;
	}
}

int sum(int n) //各位数字求和
{
	int t=n;
	int end=0;
	while(t)
	{
		end+=t%10;
		t/=10;
	}
	return end;
} 
int main()
{
	int n;
	scanf("%d",&n);
  	int flag=0;
	if(n>0&&n<=54)
	{
		int i=0;
		for(i=10000;i<=99999;i++)
		{
			if((huiwen(i)==1)&&(sum(i)==n))
			{
				printf("%d",i);
              	flag=1;
				break;
			}
		}
	}
  	if(flag==0)
    {
      printf("Not found");
    }
	return 0;
}
相关推荐
ttod_qzstudio21 分钟前
【软考算法】软件设计师下午第四题之动态规划:0-1 背包与最长公共子序列的“填表艺术“
算法·动态规划·软考
ttwuai22 分钟前
Go 后台接口 401/403 排查:JWT 过期、刷新请求和权限码怎么定位
开发语言·golang·状态模式
柒和远方26 分钟前
LeetCode 139. 单词拆分 —— 从暴力回溯到 DP 完全背包
javascript·python·算法
漫随流水44 分钟前
Java——springboot web案例
java·开发语言·spring boot
从此以后自律1 小时前
Java Object 类常用方法全讲解
java·开发语言
XH华1 小时前
C++语言第二章类和对象(下)
开发语言·c++
从零开始的代码生活_1 小时前
C++ stack、queue 与 priority_queue:容器适配器原理与实战
开发语言·c++·后端·学习·算法
晚笙coding1 小时前
LeetCode 226. 翻转二叉树(Invert Binary Tree)
算法·leetcode·职场和发展
techdashen2 小时前
Go 1.25 新增 `reflect.TypeAssert`:更直接、更高效地从 `reflect.Value` 取出类型值
开发语言·后端·golang
2zcode2 小时前
项目文档:基于MATLAB低采样率ISAR成像的快速稀疏重建算法研究
开发语言·算法·matlab