zoukankan      html  css  js  c++  java
  • 4.2分别使用循环和递归两种策略求二项式从c(n,k);

    //4.2分别使用循环和递归两种策略求二项式从c(n,k);
    //以for循环运行c(n,k)
    #include <iostream>
    using namespace std;
    int sum(int m);
    int main()
    {
    int n,k;
    int sum_n,sum_k,sum_i,sum_n_k;
    cout<<"请输入C(n,k)中的n值:"<<endl;
    cin>>n;
    cout<<"请输入C(n,k)中的k值:"<<endl;
    cin>>k;
    if(n<k)
    {
    cout<<"error,please input again."<<endl;
    return 0;
    }
    sum_n=sum(n);
    sum_k=sum(k);
    sum_i=sum(n-k);
    sum_n_k=sum_n/(sum_k*sum_i);
    cout<<"C(n,k)="<<sum_n_k<<endl;
    return 0;
    }
    int sum(int m)
    {
    int i,sum_m=1;
    for(i=1;i<=m;i++)
    sum_m*=i;
    return sum_m;
    }
    //以递归的方式算C(n,k)
    #include <iostream>
    using namespace std;
    int sum(int n,int k);
    int main()
    {
    int n,k;
    cout<<"请输入C(n,k)中的n值:"<<endl;
    cin>>n;
    cout<<"请输入C(n,k)中的k值:"<<endl;
    cin>>k;
    if(n<k)
    {
    cout<<"error,please input again."<<endl;
    return 0;
    }
    cout<<"C(n,k)="<<sum(n,k)<<endl;
    return 0;
    }
    int sum(int n,int k)
    {
    	if(k>n/2)
    		k=n-k;
    	if(k==0||n==1)
    		return 1;
         else return sum(n-1,k)+sum(n-1,k-1);
    }
    

      

    作者:这些年读过的书
    出处: http://www.cnblogs.com/chenzinumber1/
    本文版权归作者与博客园所有,欢迎转载,但未经作者同意必须保留此段声明,文末要留有原文链接,否则保留追究法律责任的权利。

  • 相关阅读:
    C语言|博客作业07
    C语言|博客作业06
    C语言|博客作业05
    C语言|博客作业04
    C语言|博客作业03
    C语言I博客作业02
    我的第一周作业!
    第三周作业
    读书笔记《莫让青春沾染暮气》
    第二周作业
  • 原文地址:https://www.cnblogs.com/chenzinumber1/p/8085459.html
Copyright © 2011-2022 走看看