• hrb——开锁魔法I——————【规律】


    解题思路:从1到n的倒数之和。

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    int main(){
    
        int n;
        while(scanf("%d",&n)!=EOF){
    
            double ans=0;
            for(int i=1;i<=n;i++){
    
                ans+=(1.0/i);
            }
            printf("%.4lf
    ",ans);
        }
        return 0;
    }
    

      

    开锁魔法I
    Time Limit: 1000 MS Memory Limit: 32768 K
    Total Submit: 627 (197 users) Total Accepted: 131 (121 users) Special Judge: No
    Description
    一日,崔克茜来到小马镇表演魔法。
    其中有一个节目是开锁咒:舞台上有 n 个盒子,每个盒子中有一把钥匙,对于每个盒子而言有且仅有一把钥匙能打开它。崔克茜可以通过魔法,暴力打开一个盒子。崔克茜想知道,期望使用多少次魔法可以打开所有盒子,你能帮助她回答吗?
    Input
    多组测试数据。
    每组数据仅一行,有一个整数n。(n <= 10000000)
    Output
    对于每组询问,输出一行,代表对应的答案。结果保留四位小数。
    Sample Input
    1
    2
    Sample Output
    1.0000
    1.5000
    Hint
    n=2时,
    箱子内的钥匙有两种情况:①号箱内有②号箱的钥匙,②号箱内有①号箱的钥匙;需要用一次魔法。
    每个箱子内都只有开自己的钥匙;需要用两次魔法。
    那么期望使用的魔法次数即为(1+2)/2 = 1.5 次。
    n=3时,
    巷子内的钥匙分布有六种情况:
        1->1 , 2->2 , 3->3;需要用三次魔法。
        1->1 , 2->3 , 3->2;需要用两次魔法。
        1->2 , 2->3 , 3->1;需要用一次魔法。
        1->2 , 2->1 , 3->3;需要用两次魔法。
        1->3 , 2->1 , 3->2;需要用一次魔法。
        1->3 , 2->2 , 3->1;需要用两次魔法。
    因此期望为(3+2+1+2+1+2)/6 = 11/6次。
  • 相关阅读:
    Qt禁止调整窗口的大小
    CentOS 6.2修改主机名
    怎么培养新人
    软件的质量控制
    如何留住骨干
    物化视图索引引发的问题
    Oracle查询脚本优化
    Oracle视图编译错误解决办法
    spring切面配置,代理用jdk和cglib的区别
    Tomcat起了一个测试桩,调用该测试桩无响应
  • 原文地址:https://www.cnblogs.com/chengsheng/p/4377068.html
Copyright © 2020-2023  润新知