求解投骰子游戏问题(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");
}

全部评论

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务