特殊回文数
来源:互联网 发布:vc2010编程实例教程 编辑:程序博客网 时间:2024/06/07 05:32
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
989989
998899
数据规模和约定
1<=n<=54。
这个题目我本想用字符串做的,因为字符串数组只需要将此数组进行正序和逆序比较就行,但是在进行循环增大数字的时候遇到困难,所以我还是采用了传统的方法,不知大家有什么新的想法。我想这题用java写的话要简单的多,因为java中的string类型的特性是字符串加上任何简单数据类型都会成为字符串
#include<stdio.h>#include<stdlib.h>void Result(int n){ long i=0; int shiwan; int wan=0; int qian=0; int bai=0; int shi=0; int ge=0; for(i=11111;i<=999999;i++) { shiwan=i/100000; wan=(i-100000*shiwan)/10000; ge=i%10; qian=(i-100000*shiwan-10000*wan)/1000; bai=i%1000/100; shi=(i-100000*shiwan-10000*wan-qian*1000-100*bai)/10; if(shiwan==0) { if(wan!=ge) continue; else { if(qian!=shi) continue; else { if(wan+qian+shi+ge+bai==n) {printf("%ld\n",i);} //这个地方不加括号的话,在DEV-C下运行时会产生错误的结果,可能与嵌套很深,栈存储混淆的结果 else continue; } } } else { if( shiwan!=ge ) continue; else { if(wan!=shi) continue; else { if(qian!=bai) continue; else { if(shiwan+wan+qian+bai+shi+ge==n) printf("%ld\n",i); else continue; } } } } }}int main(){ int n=0; printf("请输入您要输入您的数字N:"); scanf("%d",&n); Result(n); system("pause"); return 0; }
0 0
- 特殊回文数
- 特殊回文数
- 特殊回文数
- 31.特殊回文数
- 特殊回文数
- 特殊回文数
- 蓝桥杯 - 特殊回文数
- 特殊回文数
- 特殊回文数
- 蓝桥杯--特殊回文数
- 南桥--特殊回文数
- Lq_特殊回文数
- 特殊回文数
- 蓝桥杯 特殊回文数
- 特殊回文数
- 特殊回文数
- 特殊回文数
- 特殊回文数
- Android开源项目发现---ImageView 篇(持续更新)
- Android开源项目发现---ProgressBar 篇(持续更新)
- 让linux下无线网卡变身随身wifi----iptables移植--结束
- Windows Server 2003远程桌面连接注销和结束会话
- [Mysql]重置auto_increment初始值
- 特殊回文数
- Android开源项目发现---Layout 篇(持续更新)
- Spring MVC和Struts2的比较
- lua 中pairs 和 ipairs区别
- Confluence 空间详细(Space Details)宏
- H264--1
- ContentValues和HashTable和HashMap
- win7下硬盘安装linux ubuntu12.04.04方法一
- H264--2 语法结构