温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

费波拉契问题的变形

发布时间:2020-08-11 00:22:47 来源:网络 阅读:400 作者:小止1995 栏目:编程语言

奶牛生子问题----------腾讯面试 

题目:一只刚出生的奶牛,4年生一只奶牛。以后每一年生一只,现在给你一只刚出生的奶牛,求20年后有多少奶牛,考核分析能力

本题难点在于:不光这只奶牛会生奶牛,它的孩子的孩子也会生奶牛。

#include<iostream>
using namespace std;
int Cal(int year)//法一
{
	if (year < 4)
		return 1;
	return Cal(year - 4) + Cal(year - 1);
}
int CalCowsNum(int year)//法二
{
	int cnt = 0;
	long cowsNum = 1;//奶牛总数
	for (cnt = 1; cnt <= year; ++cnt)
	{
		if (cnt >= 4)
		{
			if ((year - cnt) > 3)
			{
				cowsNum += CalCowsNum(year - cnt);
			}
			else
			{
				cowsNum++;
			}
		}
	}
	return cowsNum;
}
int main()
{

	int year = 20;
	cout << CalCowsNum(year) << endl;
	system("pause");
	return 0;
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI