俱乐部每日一练(2018年11月27日)我读书少,你们得帮帮我 加特林大战僵尸"/>
# 编程俱乐部每日一练(2018年11月27日)我读书少,你们得帮帮我 加特林大战僵尸
编程俱乐部每日一练(2018年11月27日)我读书少,你们得帮帮我 加特林大战僵尸
我读书少,你们得帮帮我
Description
这是一题简单的题目,考的只是你的数学而已。我一直都很好奇愚公一家到底有多少人。好吧,毛学姐说你们会帮我的。假设愚公家族 每个人的一生是这样度过的:(当他回首往事的时候。。。开个玩笑,请无视) 头2020年用来生长发育以及挖山,第2121年(可以理解为2121岁的时候)开始 每年生下一个孩子( 自交,任性, 没妻子,全生男,且不考虑死亡),当然还要去挖山。我们默认愚公11岁的时候为第一年(第2121年愚公生下第一胎),求第NN年愚公家族(愚公家族不需要妻子,别考虑太多)有多少人。
Input
有多组测试数据,每组占一行,包括一个数N(0<N<=60)N(0<N<=60),N为第N年。
Output
对于每组测试,输出整数MM,MM为愚公家族的人数。
Sample Input 1
1
21
41
Sample Output 1
1
2
23
N最多取到60,说明只有三代人出现,愚公的最大的孙子在N=60时,刚好20岁是不会生孩子的。
按时间分情况来写,前二十年都是一个人;中间二十年,每年增加一个人;后二十年,每年增加2,3,4,……,20,21个人。
代码:
#include <stdio.h>int main()
{int N;scanf("%d",&N);if(N<21){printf("1\n");}else if(N<41){printf("%d\n",N-20+1);}else{int a,b,c;a=N-40;b=2;c=21;while(a--){c=c+b;b++;}printf("%d\n",c);}return 0;
}
加特林大战僵尸
Description
现在又到了毛学姐玩生化危机的时间,问题很简单。现在有一把自动加特林机枪,它每秒发射一颗子弹,子弹的飞行速度是V_0V
0
。在它的面前有L米的空地,你可以假设机枪是一个点。现在有个一只僵尸来袭,他以速度V_1V
1
匀速向加特林机枪走去。僵尸被加特林子弹击中n次才会gg,僵尸在走到加特林机枪的位置后,会用酸液对其进行攻击,只需2s就能摧毁加特林。问:强大的加特林机枪能不能守住这块空地呢?
Input
输入包含多组数据,每组包含四个数LL,V_0V
0
,V_1V
1
,nn。保证所有数据在int类型范围内。
Output
如果加特林能干掉僵尸,请输出"YES",否则输出"NO"。
Sample Input 1
657 62 46 46
771 89 7 2
Sample Output 1
NO
YES
Hint
为了简化情况,不会出现僵尸和加特林同归于尽(同时死亡)的情况。
物理问题,通过比较僵尸死亡时间和加特林死亡时间的长短来判断加特林能否干掉僵尸。
代码:
#include <stdio.h>
#include <stdlib.h>int main()
{int L,V0,V1,n;while(scanf("%d%d%d%d",&L,&V0,&V1,&n)!=EOF){int t1,t2;t1=L/V1+2;t2=(L-V1*n)/V0+n;if (t1>t2){printf("YES\n");}if (t1<t2){printf("NO\n");}}return 0;
}
更多推荐
# 编程俱乐部每日一练(2018年11月27日)我读书少,你们得帮帮我 加特林大战僵尸
发布评论