对“回文数”问题的解法
来源:互联网 发布:vb语言程序设计 编辑:程序博客网 时间:2024/05/22 10:45
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998
989989
998899数据规模和约定 1<=n<=54。思路很简单,虽然分为两个for循环来写,但实际的时间复杂度是相同的。在Dev-C++上运行没有超时。下面贴上代码,本人第一次写博客,诸多不懂,有意见不同者还请指明!
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n;
scanf("%d",&n);
unsigned long i;
int a,b,c,d,e,f;
for (i=10000;i<100000;i++)
{
a=i/10000;
b=(i-a*10000)/1000;
c=(i-a*10000-b*1000)/100;
d=(i-a*10000-b*1000-c*100)/10;
e=i-a*10000-b*1000-c*100-d*10;
if (a==e&&b==d)
{
if (a+b+c+d+e==n)
{
printf ("%lu\n",i);
}
}
}
for (i=100000;i<1000000;i++)
{
a=i/100000;
b=(i-a*100000)/10000;
c=(i-a*100000-b*10000)/1000;
d=(i-a*100000-b*10000-c*1000)/100;
e=(i-a*100000-b*10000-c*1000-d*100)/10;
f=i-a*100000-b*10000-c*1000-d*100-e*10;
if (a==f&&b==e&&c==d)
{
if (a+b+c+d+e+f==n)
{
printf ("%lu\n",i);
}
}
}
return 0;
}
示例输入:
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
989989
998899
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n;
scanf("%d",&n);
unsigned long i;
int a,b,c,d,e,f;
for (i=10000;i<100000;i++)
{
a=i/10000;
b=(i-a*10000)/1000;
c=(i-a*10000-b*1000)/100;
d=(i-a*10000-b*1000-c*100)/10;
e=i-a*10000-b*1000-c*100-d*10;
if (a==e&&b==d)
{
if (a+b+c+d+e==n)
{
printf ("%lu\n",i);
}
}
}
for (i=100000;i<1000000;i++)
{
a=i/100000;
b=(i-a*100000)/10000;
c=(i-a*100000-b*10000)/1000;
d=(i-a*100000-b*10000-c*1000)/100;
e=(i-a*100000-b*10000-c*1000-d*100)/10;
f=i-a*100000-b*10000-c*1000-d*100-e*10;
if (a==f&&b==e&&c==d)
{
if (a+b+c+d+e+f==n)
{
printf ("%lu\n",i);
}
}
}
return 0;
}
5
示例输出:
10301
11111
20102
11111
20102
阅读全文
0 0
- 对“回文数”问题的解法
- 判断一个数是否回文数的巧妙解法
- 对找数的一种解法
- 暴力求解法-双基回文数
- 回文质数问题(用生成回文数的方法)
- 回文串的hash解法
- 最长回文串的解法
- 很弱智的回文数问题
- 有关回文数的一个问题
- 关于回文数的输出问题
- 回文数问题
- 回文数 素数问题。
- 最大回文数问题
- 回文数问题
- 问题 N 回文数
- 回文数问题
- 回文/回文数的判断
- Catalan数的解法
- C语言中的类型转换
- Yii2.0同一个页面使用多个验证码
- 第三章:Django的模板使用
- 漫步最优化十七——点对点映射
- 线性动态规划 (共六题)
- 对“回文数”问题的解法
- 同源策略和跨域访问
- 找米网2017域名投资经验分享(精华总结)
- Java 内存区域介绍
- 用Java代码实现hadoop命令
- leetcode--22. Generate Parentheses
- 计算机网络-输入一个网址后发生的事情
- 数组——基本概念
- 主席树入门学习