zoukankan      html  css  js  c++  java
  • 抛色子问题(去哪儿笔试)

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

    #include <iostream>
    #include <stdio.h>
    using namespace std;
    /*by myself*/
    void fun(int n)//色子个数n s=a+2b+3c+4d+5e+6f;a+b+c+d+e+f=n
    {
        //s[i]对应的是和为i的情况概率
        int *s=new int[6*n+1];//但是int s[6*n+1];不可以,因为数组大小应为常数
        for(int i=0;i<=6*n;i++)
        {
            s[i]=0;//一定要初始化!否则值是不确定的        
        }
        
        for(int a=0;a<=n;a++)
        {
            for(int b=0;b<=n-a;b++)
            {
                for(int c=0;c<=n-a-b;c++)
                {
                    for(int d=0;d<=n-a-b-c;d++)
                    {
                        for(int e=0;e<=n-a-b-c-d;e++)
                        {
                            int f=n-a-b-c-d-e;
                            int i=a+2*b+3*c+4*d+5*e+6*f;
                            s[i]++;
                        }
                    }
                }
            }
            
        }
        
        double sum=0;//一定要定义为浮点数,否则s[i]/sum=0
        for(int i=0;i<=6*n;i++)
        {
            sum+=s[i];
        }
        cout<<sum<<endl;
        
        for(int i=0;i<=6*n;i++)
        {
            cout<<"和s为"<<i<<"的情况数:"<<s[i]<<"概率:"<<s[i]/sum<<endl;
        }
    }
    
    int main(){
        fun(7);
    }
  • 相关阅读:
    Infosec institute n00bs CTF writeup
    CTF学习之CODE
    ThinkPHP函数详解:C方法
    流程控制的替代语法
    Jquery DOM
    YII2 请求(request)
    YII2 运行概述(Overview)
    YII2 小部件(widgets)
    YII2 过滤器 filters
    YII2 随笔 视图最佳实践
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3669036.html
Copyright © 2011-2022 走看看