IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 母牛的故事hdu-2018 C语言 -> 正文阅读

[数据结构与算法]母牛的故事hdu-2018 C语言

这是题目:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
这是原理:
在这里插入图片描述
当然,这个原理适用于年数(n)>=4的时候,n<4时,结果很显然就是年数n。
代码一(递归):

#include<stdio.h>
int fun(int n)
{
	if(n<=4)
	{
		return n; 
	}
	else
	{
		return fun(n-1)+fun(n-3);
	}
}
int main()
{
	int n;
	while(1)
	{
		scanf("%d",&n);
		if(n==0)
		{
			break;
		}
		else
		{
			printf("%d\n",fun(n));
		}
	}	
	return 0;
} 

代码二(循环):

#include<stdio.h>
int main()
{
	while(1)
	{
		int n;
		scanf("%d",&n);
		if(n==0)
		{
			break;
		}
		else if(n<=4)		//当n<=4时,直接输出n就是结果
		{
			printf("%d\n",n);
		}
		else
		{
			int muniu=1,xiaoniu=3,sum=4,a[201];
			for(int i=0;i<4;i++)//目的是让前4年的每年的值都存到数组a里
			{
				a[i]=i+1;
			}
			for(int j=5;j<=n;j++)
			{
				muniu=a[j-4];//这一步目的类似f(n-3)
				xiaoniu=sum;//这一步目的是上一年的总牛数与这年的小牛数相等,类似f(n-1)
				sum=muniu+xiaoniu;//小牛数和母牛数之和等于总牛数,类似与f(n)=f(n-1)+f(n-3)
				a[j-1]=sum;//目的存每年的总牛数,为了muniu=a[j-4]作前期准备
			}
			printf("%d\n",sum);
		}	
	} 	
	return 0;
}

提前祝大家中秋节快乐,期待与大家下次见面,再见。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-20 16:00:39  更:2021-09-20 16:03:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:38:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码