首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
吃糖果
[编程题]吃糖果
热度指数:15338
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 64M,其他语言128M
算法知识视频讲解
名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。 妈妈告诉名名每天可以吃一块或者两块巧克力。 假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。 例如: 如果N=1,则名名第1天就吃掉它,共有1种方案; 如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案; 如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案; 如果N=4,则名名可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有3+2=5种方案。 现在给定N,请你写程序求出名名吃巧克力的方案数目。
输入描述:
输入只有1行,即整数N。
输出描述:
可能有多组测试数据,对于每组数据, 输出只有1行,即名名吃巧克力的方案数。
示例1
输入
4
输出
5
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(8)
邀请回答
收藏(111)
分享
提交结果有问题?
134个回答
54篇题解
开通博客
苇岸弦歌
发表于 2023-03-02 14:07:39
n块的吃法可分解为两个子问题:即第一天吃1块,剩下n-1块如何吃;第一天吃2块,剩下n-2块怎么吃。用数学递推方式表示为a(n)=a(n-1)+a(n-2)(且n>=3) #include <iostream> using namespace std; int main() {
展开全文
TomatoHead
发表于 2024-03-15 14:24:44
原理同上台阶问题 #include <iostream> #include <cstdio> #include <vector> #include <string> #include <set> using namespace std; i
展开全文
viod
发表于 2021-12-26 22:21:33
做题要学会冷静分析,除了模拟之外,很多题目的答案可以通过分析推导得到基于数学规律的表达式,节省时间开销。 本题中: N=1结果为1, N=2结果为2, N=3结果为3, N=4结果为5, N=5结果为8, N=6结果为13......通过简单分析推导可知规律相似于斐波那契数列 #include&l
展开全文
山清水秀疑无路
发表于 2022-03-08 20:02:02
献丑了 #include<iostream> using namespace std; int PC=0; void getPC(int c){ if(c==0) PC=PC+1; else{ if(c>0){ //
展开全文
yyer
发表于 2023-01-11 23:32:41
#include <iostream> using namespace std; const int maxn=21; long long f[maxn]={0}; int main() { int n; for(int i=1;i<=maxn;i++){
展开全文
牛客440904392号
发表于 2024-09-29 13:22:18
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n
展开全文
宁静的冬日
发表于 2022-03-06 13:15:16
C++ ">#include<string> #include<algorithm> using namespace std; #define MAX 100 int dp[21]; void initDpArray() { dp[1] = 1; dp[2] = 2;
展开全文
用户抉择
发表于 2021-03-28 12:08:01
#include <stdio.h> int main(){ int n,i; while(scanf("%d",&n)!=EOF){ &nb
展开全文
拒绝内卷plus
发表于 2024-03-06 14:46:53
#include <stdio.h> int fun(int n) { if(n==1)return 1; if(n==2)return 2; return fun(n-1)+fun(n-2); } int main() { int n; wh
展开全文
T790T
发表于 2024-07-27 08:54:49
#include <iostream> using namespace std; int eat(int n) { if(n == 1) return 1; else if(n==2) return 2; else return eat(n-1)+eat(n-
展开全文
问题信息
动态规划
模拟
难度:
134条回答
111收藏
10855浏览
热门推荐
通过挑战的用户
查看代码
就是我的
2023-03-13 15:58:30
CITYHUA
2023-03-10 11:03:09
牛客31605...
2023-03-06 17:06:55
牛客49234...
2023-03-06 14:34:04
dumbbell
2023-03-05 14:04:44
相关试题
一个10*10的矩阵(可以理解为棋...
去哪儿
模拟
评论
(0)
有两个文件context.txt和...
去哪儿
模拟
评论
(4)
一个文件里有10万个随机正整数,按...
去哪儿
堆
模拟
评论
(4)
编译方法中,动态存储分配的含义是:()
编译和体系结构
评论
(2)
来自
乐视2017秋招开发工程...
闪速存储器能提供高性能、低功耗、字...
编程基础
评论
(1)
吃糖果
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
4
5