求解投骰子游戏问题(C++)

【问题描述】
玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。求玩家走到第n步(n≤骰子最大点数且投骰子方法唯一)时总共有多少种投骰子的方法。

输入描述:输入包括一个整数n(1≤n≤6)。
输出描述:输出一个整数,表示投骰子的方法数。

输入样例:

样例输出:

【思路】

【代码】

#include<iostream>
using namespace std;

int num;//记录玩家走到第n步时总共有多少种投骰子的方法

int funcc(int n) {
	
	int sum = 0;

	if (n == 1) {//初始条件 f1 == 1
		num = 1;
	}
	else if(n >= 1){
		for (int i = n - 1; i >= 1; i--) {
			sum = sum + funcc(i) ;
		}
		num = sum + 1;
	}
	return num ;
	
}


int main()
{
	int n= 0;
	
	cin >> n;
	cout << funcc(n);
		
	system("pause");
}

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务