1016~1017 函数的使用2-3(回文数判断)

来源:互联网 发布:仿真实训软件 编辑:程序博客网 时间:2024/05/21 18:46

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;}