zoukankan      html  css  js  c++  java
  • 杭电2048(此种方法比较麻烦的,建议推荐本人的 【杭电2048(递推)】http://www.cnblogs.com/xiohao/archive/2012/09/28/2706573.html)

    问题分析:此题也是一道递推问题!首先,当m=4的时候 例如 {1 2 3 4 其中当1取2的时候
                                                            1 2 3 4}
    此时如果2取1,则只能3和4互相交换({3 4  相当于a[2]的值)!如果2取3或4,则剩余{3 4
                                       3 4}                                       1 4}
    此时相当于{1 2 3 中1取2剩余的情况!!依次类推 b=(double)1/(i-1)*a[i-2]+(double)(i-2)/(i-1)*Q;
               1 2 3}                                   a[i]=(double)(i-1)/i*b;

            

    #include<iostream>
    using namespace std;
    int main()
    {
     int n,m,i;double a[25],b,Q;
     cin>>n;
        getchar();
     while(n--)
       {
        cin>>m;
        a[1]=0;
        a[2]=0.5;
        a[3]=(double)1/3;
        Q=0.5;

        for(i=4;i<=m;i++)
        {     b=(double)1/(i-1)*a[i-2]+(double)(i-2)/(i-1)*Q;
              a[i]=(double)(i-1)/i*b;
               Q=b;

        }
        printf("%.2lf",a[m]*100);cout<<"%"<<endl;
        }
     return 0;
    }

  • 相关阅读:
    Orchard CMS中如何打包不带源码的模块
    牛X的CSS3
    Docker指令
    Spring Boot 应用 发布到Docker
    Haproxy全透明代理
    TCP/IP协议理解
    ubuntu tomcat 部署java web
    UDP"打洞"原理
    java多线程-线程通信
    window环境下杀死tomcat
  • 原文地址:https://www.cnblogs.com/xiohao/p/2700473.html
Copyright © 2011-2022 走看看