题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
今年的植树节(2012 年 3 月 12 日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”
“把我出生的年月日连起来拼成一个 8 位数(月、日不足两位前补 0)正好可以被今天的年、月、日整除!”
他想了想,又补充到:“再给个提示,我是 6 月出生的。”
根据这些信息,请你帮小明算一下,他叔叔的出生年月日。
格式是年月日连成的 88 位数。例如,如果是 1948 年 6 月 12 日,就写:19480612。
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int number[8] = { 1,9,0,0,0,6,0,0 };
long int n;
int k = 0;
for (int i = 1; i <= 30; i++)
{
number[6] = i / 10;
number[7] = i % 10;
for (int j = 1; j <= 99; j++)
{
number[2] = j / 10;
number[3] = j % 10;
n = 19 * 1000000+6*100+number[2]*100000+number[3]*10000+number[6]*10+number[7];
// printf("%d\n", n);
if (n % 2012 == 0)
{
if (n % 3 == 0)
{
if (n % 12 == 0)
{
k = 1;
}
}
}
if (k) break;
}
if (k) break;
}
printf("%d", n);
return 0;
}
思路:
根据题意可以得出几个信息
1,6月份出生。那么第5,6位是06
2,可以被2012,6,12分别整除
可以用三层if判断出结果