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;
}
相关推荐
坚持编程的菜鸟14 小时前
模拟实现memmove
c语言·算法·模拟实现memmove
BUG研究员_14 小时前
Runnable与LCEL
开发语言·人工智能·python
wabs66615 小时前
关于图论【最短路径之Dijkstra算法(堆优化版)|卡码网47.参加科学大会的思考】
数据结构·算法·图论·优先级队列·邻接表·小顶堆·卡码网
坚持编程的菜鸟16 小时前
编写判断大小端程序
c语言·算法·判断大小端
papaofdoudou16 小时前
判断排列逆序奇偶性的乘积判别法(范德蒙德符号法)
人工智能·算法
牛艺翔16 小时前
C++基础
开发语言·c++
键盘会跳舞16 小时前
C++ :容器适配器stack源码级拆解
开发语言·c++··stack·先进后出
linux-hzh16 小时前
百日算法修炼 · Day 03
java·算法
美味蛋炒饭.16 小时前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
我星期八休息17 小时前
网络编程—网络层
开发语言·前端·网络·人工智能·智能路由器