百练OJ 19岁生日礼物-Birthday Gift(数位分离+数字判断)

来源:互联网 发布:公章制作生成器软件 编辑:程序博客网 时间:2024/05/10 23:02

19岁生日礼物-Birthday Gift
总时间限制: 1000ms 内存限制: 65536kB

描述
今天是小红的19岁生日,小明决定给小红买个生日礼物,但是为了突出是19岁的生日,生日礼物的价格必须和19相关。
一个正整数,如果它是19的倍数或者它的十进制表示中某相邻的两位是19,那么它是和19相关的。
你需要帮助小明判断礼物的价格是否和19相关。

输入
第一行是一个正整数n(int范围),表示总共有n个价格。
下面n行,每行是一个正整数p(int范围),代表礼物的价格。

输出
总共n行,第i行代表输入中第i个价格是否和19相关。如果相关,输出”Yes”,否则,输出”No”。

样例输入
4
95
100
3192
2913

样例输出
Yes
No
Yes
No
【分析】
找与19相关的数,如果是19的倍数,直接输出Yes,否则需要进行数位分离,判断相邻两位是否为19.
【源代码】

#include <stdio.h>int Sepnum(int n)        //分离n的各位数{    int a[12];    int i=0,j;    int num=n;    int flag=0;    while(num)          //分离n的各位数并保存到数组a中    {        a[i++]=num%10;        num/=10;    }    for(j=0;j<i-1;j++)  //注意a数组中保存的各位数由低位到高位    {        if(a[j]==9 && a[j+1]==1)        {            flag=1;            break;        }    }    return flag;}int main(){    int n,price;    int temp;    scanf("%d",&n);    while(n--)    {        scanf("%d",&price);        if(price%19==0)            printf("Yes\n");        else        {            temp=price;            if(Sepnum(temp))                printf("Yes\n");            else                printf("No\n");        }    }    return 0;}
阅读全文
0 0
原创粉丝点击