zoukankan      html  css  js  c++  java
  • 求组合数

    根据公式C(n,m)=n!/(m!(n-m)!)算出从n个不同元素中取出m个元素(m<=n)的组合数。

    建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

    输入格式:

    输入在一行中给出两个正整数m和n(m<=n),以空格分隔。

    输出格式:
    按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

    输入样例:

    2 7

    输出样例:

    result = 21

    (摘自https://pintia.cn)

    解答:

     1 #include<iostream>
     2 using namespace std;
     3 double fact(int);
     4 int main()
     5 {
     6     int m,n;        //输入的数据m,n
     7     double result;    //接收结果
     8     cin>>m>>n;        //输入数据
     9     result=fact(n)/(fact(m)*fact(n-m));    //计算C(m/n)
    10     cout<<"result = "<<result;            //输出
    11     return 0;
    12 }
    13 double fact(int n)
    14 {
    15     double result(1);    //用于返回数据,区别于mian()里的result
    16     while(n)            //循环计算n*(n-1)*(n-2)···
    17     {
    18         result*=n;
    19         n--;
    20     }
    21     return result;        //返回值
    22 }

    解析:

      见代码注释。double fact(int)先声明的时候注意需要添加’;‘,函数为double型,注意使用double类型的变量接收。

  • 相关阅读:
    uva 10129 poj 1386 hdu 1116 zoj 2016 play on words
    redis持久化
    Redis事务
    非阻塞I/O多路复用机制
    SFTP
    FTP
    http协议特点及session共享及单点登录
    什么是cookie以及cookie的特性、优缺点
    异步IO和同步IO的区别:
    TCP操作与原理
  • 原文地址:https://www.cnblogs.com/wzzdeblog/p/10614180.html
Copyright © 2011-2022 走看看