python判断字符类型编程_python判断unicode字符类型

问题一:回文数

问题描述

1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

输出格式

按从小到大的顺序输出满足条件的四位十进制数。

思路:分别求出这个四位数的每一个位上的数,然后做比较

#include

using namespace std;

int main()

{

for(int n=1000;n<10000;n++)

{

int a = n/1000; //a是千位

int b = (n - a*1000)/100; //b是百位

int c = (n - a*1000 - b*100)/10;//c是十位

int d = (n - a*1000 - b*100)%10;//d是个位

if(a == d&&b == c)

{

cout<

}

}

return 0;

}

问题二:特殊回文数

问题描述

123321是一个非常特殊的数,它从左边读和从右边读是一样的。

输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

输入一行,包含一个正整数n。

输出格式

按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998

989989

998899

数据规模和约定

1<=n<=54。

思路:特殊回文数不但要求该数字为回文数,还要求该数字每一位数字的和相加等于一个数,而且该题目包含了四位和五位数

#include

using namespace std;

int main()

{

int m;

cin>>m;

for(long n=10000;n<100000;n++)

{

int a = n/10000;//第一个

int b = (n - a*10000)/1000;//第二个

int c = (n - a*10000 - b*1000)/100;//第三个

int d = (n - a*10000 - b*1000 - c*100)/10;//第四个

int e = (n - a*10000 - b*1000 - c*100)%10;//第五个

if(a == e && b == d)//是否为回文数

{

if(a+b+c+d+e == m)//是否为五位特殊回文数

{

cout<

}

}

}

for(long n=100000;n<1000000;n++)

{

int a = n/100000;//第一个

int b = (n - a*100000)/10000;//第二个

int c = (n - a*100000 - b*10000)/1000;//第三个

int d = (n - a*100000 - b*10000 - c*1000)/100;//第四个

int e = (n - a*100000 - b*10000 - c*1000 - d*100)/10;//第五个

int f = (n - a*100000 - b*10000 - c*1000 - d*100)%10;//第六个

if(a ==f && b ==e && c == d)//是否为回文数

{

if((a+b+c+d+e+f) == m)//是否为六位特殊回文数

{

cout<

}

}

}

return 0;

}

比较:问题二的数字和计算量都大于第一个,通过cpu使用的时间上就可以看出来

提交序号

姓名

试题名称

提交时间

代码长度

语言 C C++ JAVA

评测结果 正确 错误 编译出错 运行错误 运行超时 内存超限

得分 100 1~99 0

CPU使用

内存使用

评测详情

53642

赵哲

01-25 22:58

910B

C++

正确

100

31ms

860.0KB

53264

赵哲

01-25 18:39

324B

C++

正确

100

0ms

860.0KB

原文:http://blog.csdn.net/zhangpinghao/article/details/18778357

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值