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;
}
相关推荐
yangSnowy1 分钟前
PHP的运行模式
开发语言·php
无限进步_7 分钟前
【C语言】用队列实现栈:数据结构转换的巧妙设计
c语言·开发语言·数据结构·c++·链表·visual studio
Xの哲學8 分钟前
从硬中断到 softirq:Linux 软中断机制的全景解剖
linux·服务器·网络·算法·边缘计算
weixin_579599669 分钟前
编写一个程序,输入两个数字的加减乘除余数(Python版)
开发语言·python
生信碱移16 分钟前
单细胞空转CNV分析工具:比 inferCNV 快10倍?!兼容单细胞与空转的 CNV 分析与聚类,竟然还支持肿瘤的亚克隆树构建!
算法·机器学习·数据挖掘·数据分析·聚类
CYTElena16 分钟前
JAVA关于集合的笔记
java·开发语言·笔记
我是唐青枫23 分钟前
深入理解 C#.NET Parallel:并行编程的正确打开方式
开发语言·c#·.net
Dillon Dong31 分钟前
从C到Simulink: 使用 `simulation_stubs`(仿真存根)处理MBD中的硬件依赖
c语言·stm32·matlab
RFCEO31 分钟前
用手机写 Python程序解决方案
开发语言·python·智能手机·qpython环境安装
DICOM医学影像44 分钟前
15. Go-Ethereum测试Solidity ERC20合约 - Go-Ethereum调用合约方法
开发语言·后端·golang·区块链·智能合约·以太坊·web3.0