面试题数据结构-n个筛子的点数

来源:互联网 发布:香水推荐 知乎 编辑:程序博客网 时间:2024/04/27 16:06

题目:把n个筛子扔在地上,所在筛子朝上的一面的和为s,输入点n,打印出s所有可能出现的概率


#include <iostream>int n;int sum;int stat[100];void solve(int step,int n,int * stat);int solve(int n){solve(1,n,stat);double t;int sum(1);for(int i=0;i!=n;i++){sum=sum*6;}for(int i=0;i!=6*n+1;i++){if(stat[i]!=0){t=(double)stat[i]/(sum);std::cout<<i<<" "<<t<<std::endl;}}return 1;}void solve(int step,int n,int * stat){if(step>n){stat[sum]++;return;}for(int i=1;i!=7;i++){sum+=i;solve(step+1,n,stat);sum-=i;}}int main(){int res=solve(3);getchar();}


原创粉丝点击