愚公移山和加特林打僵尸(递归)

今日坑题:

问题一:愚公移山

描述

这是一题简单的题目,考的只是你的数学而已。我一直都很好奇愚公一家到底有
多少人。好吧,毛学姐说你们会帮我的。假设愚公家族 每个人的一生是这样度过
的:(当他回首往事的时候。。。开个玩笑,请无视) 头2020年用来生长发育以
及挖山,第2121年(可以理解为2121岁的时候)开始 每年生下一个孩子( 自交,
任性, 没妻子,全生男,且不考虑死亡),当然还要去挖山。我们默认愚公1岁
的时候为第一年(第2121年愚公生下第一胎),求第N年,愚公家族有多少人。

输入

有多组数据,每组数据包括一个整数N

思路

该题第一反应,和兔子生小兔子一个道理,不过就是一个生兔子,一个自交……
用到的递归算法。既然是20年成年,那么前二十年都为愚公一个人,第二十一年
开始自交……(hhh自行脑补)那么,第二十一年的人数为第二十年的人数加上今年
出生的人数,那么今年出生的人数如何计算,自然是二十年前的人数了。

代码

#include<stdio.h>
int yugong(int m)
{
	if(m<=20) return 1;
	else if(m<=40) return m-19;
	else return yugong(m-1)+yugong(m-20); 
}
int main()
{
    int a,i;
    int arr[59];
    for(i=0;i<60;++i)
    {
    	arr[i]=yugong(i+1);
	}
    	
	while(scanf("%d",&a)!=EOF)
	{
		printf("%d\n",arr[a-1]);
	} 
	return 0;	
}

问题二:加特林打僵尸

水题一道,一句话带过

现在又到了毛学姐玩生化危机的时间,问题很简单。现在有一把自动加特林机枪,
它每秒发射一颗子弹,子弹的飞行速度是V0。在它的面前有L米的空地,你可以假
设机枪是一个点。现在有个一只僵尸来袭,他以速度V1匀速向加特林机枪走去。
僵尸被加特林子弹击中n次才会gg,僵尸在走到加特林机枪的位置后,会用酸液
对其进行攻击,只需2s就能摧毁加特林。问:强大的加特林机枪能不能守住这块空地呢?

代码

#include<stdio.h>
int main()
{
	int a,b,c,d,time;
	while(scanf("%d %d %d %d",&a,&b,&c,&d)!=EOF)
	{
		time=a/c+2;
		if(time>=d){
			printf("YES\n");
		}
		else printf("NO\n");
	}
	return 0;
}

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页