LQ0263 猜生日枚举

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0263 猜生日枚举相关的知识,希望对你有一定的参考价值。

题目来源:蓝桥杯2012初赛 Java C组B题

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

今年的植树节(2012 年 3 月 12 日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”

“把我出生的年月日连起来拼成一个 8 位数(月、日不足两位前补 0)正好可以被今天的年、月、日整除!”

他想了想,又补充到:“再给个提示,我是 6 月出生的。”

根据这些信息,请你帮小明算一下,他叔叔的出生年月日。

格式是年月日连成的 88 位数。例如,如果是 1948 年 6 月 12 日,就写:19480612。

问题分析
用枚举计算来解决。

AC的C语言程序如下:

/* LQ0263 猜生日 */

#include <stdio.h>

int main()

    int start = 19000600;
    for (int y = 0; ;y++)
        for (int d = 1; d <= 30; d++) 
            int t = start + 10000 * y + d;
            if (t % 2012 == 0 && t % 3 == 0 && t % 12 == 0) 
                printf("%d", t);
                return 0;
            
        
    return 0;

以上是关于LQ0263 猜生日枚举的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯-猜生日

LQ0031 生日蜡烛枚举

LQ0201 猜年龄枚举

LQ0185 猜字母填空题

LQ0187 猜年龄填空题

LQ0049 有奖猜谜模拟