1125: 素MM

Problem Description

素数有很多神奇的性质,所以很美。我们知道一个日期将年、月、日按顺序连接在一起可以组成一个八位数,例如2011年3月6日可以写成20110306。我的某个MM的生日组成的数是一个素数。偶尔我叫她素MM,没人知道是啥意思,她自己也不知道。O(∩_∩)O哈哈~我心里可是真的美美的(⊙o⊙)哦!

嗯,什么?你的生日也是素数?你也想做“素MM”或者“素GG”?那好吧,不过我可是很小气的哦!只有你出生在1988年或者1989年我才让你做“素MM”或“素GG”。要不然,你把这两年里日期组成的数是素数的找出来也可以——没准还带你到浙大去“旅游”呢!

Input

Output

1988年与1989年,这两年里的日期所组成的素数。每个素数占一行。

Sample Input

Sample Output

19880101
19880111
19880117
19880129
19880221
……

Hint

“……”代表后面还有素数没有输出。你输出时也要将后面的素数输出。

Source

Tag

#include <stdio.h>

void isprime(int num)
{
    for(int i=2; i*i<=num; i++)
        if(num%i==0)return ;
    printf("%d\n",num);
}

int main()
{
    int y,num;
    int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
    for(y=1988; y<=1989; y++)
    {
        if(y%400==0||(y%4==0&&y%100!=0))a[2]=29;
        else a[2]=28;
        for(int i=1; i<=12; i++)
            for(int j=1; j<=a[i]; j++)
            {
                if(j%2==0)continue;
                num=y*10000+i*100+j;
                isprime(num);
            }
    }

    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值