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;
}
相关推荐
罗湖老棍子1 分钟前
C Looooops(信息学奥赛一本通- P1640)
算法·数论·同余·裴蜀定理·扩展欧几里得
C++ 老炮儿的技术栈40 分钟前
sizeof操作符
c语言·c++·人工智能·mfc·c
wuminyu1 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
code2cat1 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose1 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
她说彩礼65万2 小时前
C语言 堆区和栈区
java·linux·c语言
Zguigo2 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++
-Marks-2 小时前
【C++编程】STL容器(二)--- vector底层模拟实现(常用接口实现 | 扩容机制 | 深浅拷贝 | 迭代器失效)
开发语言·c++·vector·内存管理·迭代器失效·vector底层模拟实现
Shadow(⊙o⊙)2 小时前
C++11并发支持库
开发语言·c++
一技安身2 小时前
【java】JDK8 + JDK17 绿色解压共存方案-全程不修改任何系统环境变量
java·开发语言