华为OJ(统计每个月兔子的总数)
2015-08-25 13:13
330 查看
描述 | 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? /** * 统计出兔子总数。 * * @param monthCount 第几个月 * @return 兔子总数 */ public static int getTotalCount(int monthCount) { return 0; } |
---|---|
知识点 | 查找,搜索,排序 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入int型表示month |
输出 | 输出兔子总数int型 |
样例输入 | 9 |
样例输出 | 34 |
f(1)=1,f(2)=1,f(3)=2,f(4)=3......可以看出是斐波那契数列。
下面就好办了,可以直接用公式,也可以递归。
1 直接用公式:
#include<stdio.h> #include<stdlib.h> #include<math.h> void main() { int n; scanf("%lf",&n); printf("%d\n", (int)((powf(((1 + sqrtf(5)) / 2), n) - powf(((1 - sqrtf(5)) / 2), n)) / sqrtf(5))); //system("pause"); }2 递归
#include<iostream> using namespace std; int getCount(int n) { if(n==1||n==2) return 1; else return getCount(n-1)+getCount(n-2); } int main() { int n; cin>>n; cout<<getCount(n); //system("pause"); return 0; }
相关文章推荐
- UVA 10158 War 并查集
- Python并发编程
- maven使用Nexus私有仓库进行管理
- js方法格式化数字,加入千分符,并可以指定小数点位数
- IOS 多线程(4) --线程通讯
- HDU 2222 AC自动机
- 【POJ1456】【并查集变形】【技巧】
- 《数据库系统概念第六版》读书笔记
- C++常用术语及其英文翻译的含义和简单用途总结(八)
- accordion 全部折叠
- ARC(Automatic Reference Counting)
- 得到文件某行的偏移量(get byte offset of a line)
- mybatis 动态sql
- sql 查询所有数据库、表名、表字段总结
- 基于JQuery实现滚动到页面底端时自动加载更多信息
- vector删,erase和remove难怪--【STL】
- Android应用程序资源(一)
- 如果让我重新设计一款Android App
- Sql 位数不足补充 0或其他字符
- 文件中关键字后面是什么及长度