1016: 函数的使用2
时间限制: 1 Sec 内存限制: 128 MB
题目描述
【题意描述】
给出一个四位数n,
判断是否回文数
什么是回文?(顺着读和倒着读都是一样的,比如1221,3113等等)
如果是就是输出"YES",否则输出"NO"。
温馨提示:1221是回文数,1231不是回文数,2222是回文数,2221不是,1551是回文数等等
【输入格式】
输入整数n。
【输出格式】
输出s。
【样例1输入】
1221
【样例1输出】
YES
【样例2输入】
1211
【样例2输出】
NO
#include<iostream>
#include<cstdio>
using namespace std;
int pd(int x){
int x1,x2,x3,x4;
x1=x%10;
x2=x/10%10;
x3=x/100%10;
x4=x/1000;
if ((x1==x4)&&(x2==x3)){
return 1;
}
else{
return 0;
}
}
int main(){
int n,k;
scanf("%d",&n);
k=pd(n);
if (k==1){
printf("YES\n");
}
else{
printf("NO\n");
}
return 0;
}
1017: 函数的使用3
时间限制: 1 Sec 内存限制: 128 MB
题目描述
【题意描述】
输入两个整数x和y,输出x~y所有的回文数,每个一行。
注意:
1、x和y的范围是[1,9999],且x<=y;
2、x和y可以是1位数,2位数,3位数,也可以是4位数,
3、三位数也有回文数,比如151,242,353等等。
【输入格式】
输入整数n。
【输出格式】
输出所有满足条件的回文数,从小到大,每个一行。
【样例1输入】
90 120
【样例1输出】
99
101
111
【样例2输入】
1 20
【样例2输出】
1
2
3
4
5
6
7
8
9
11
主要考点是分离整数的数位。
#include<iostream>
#include<cstdio>
using namespace std;
int pd2(int x){
int x1,x2;
x1=x%10;
x2=x/10%10;
if (x1==x2){
return 1;
}
else{
return 0;
}
}
int pd3(int x){
int x1,x2,x3;
x1=x%10;
x2=x/10%10;
x3=x/100%10;
if (x1==x3){
return 1;
}
else{
return 0;
}
}
int pd4(int x){
int x1,x2,x3,x4;
x1=x%10;
x2=x/10%10;
x3=x/100%10;
x4=x/1000%10;
if ((x1==x4)&&(x2==x3)){
return 1;
}
else{
return 0;
}
}
int main(){
int x,y;
scanf("%d%d",&x,&y);
for (int i=x;i<=y;i++){
if (i<10){
printf("%d\n",i);
}
else if(i<100){
if (pd2(i)==1){
printf("%d\n",i);
}
}
else if(i<1000){
if (pd3(i)==1){
printf("%d\n",i);
}
}
else {
if (pd4(i)==1){
printf("%d\n",i);
}
}
}
return 0;
}