1、奖券数目
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
#include<stdio.h>
int main()
{
int ans=0;
for(int i=1; i<=9; i++)
for(int j=0; j<=9; j++)
for(int k=0; k<=9; k++)
for(int l=0; l<=9; l++)
for(int s=0; s<=9; s++)
if(i!=4&&j!=4&&k!=4&&l!=4&&s!=4)
ans++;
printf("%d\n",ans);
return 0;
}
运行结果是 52488.
2、星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
<pre name="code" class="cpp">#include<stdio.h>
int main()
{
int y,m;
int days1[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int days2[13]= {0,31,29,31,30,31,30,31,31,30,31,30,31};
int shengyu=1000-(30-9)-31;
y=2015;
while(shengyu>365)
{
if(y%4==0||y%100==0&&y%400!=0)
shengyu-=366;
else
shengyu-=365;
y++;
}
if((y%4==0||y%100==0&&y%400!=0)&&shengyu>59)
{
m=1;
while(shengyu>29)
{
shengyu-=days2[m];
m++;
}
printf("%d-%d-%d\n",y,m,shengyu);
}
else
{
m=1;
while(shengyu>28)
{
shengyu-=days1[m];
m++;
}
printf("%d-",y);
if(m<10)
printf("0%d-",m);
else
printf("%d-",m);
if(shengyu<10)
printf("0%d\n",shengyu);
else
printf("%d\n",shengyu);
}
return 0;
}
运行结果是 2017-08-05.
3、三羊献瑞
观察下面的加法算式:
祥 瑞生辉
+ 三羊献瑞
-------------------
三 羊生瑞气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
暴力来做,条件判断蛮多的,有C[8,2]=28个,但是总能得到结果,嘿嘿。不过代码看上去有点不能忍,待我毛概考完慢慢优化。