码迷,mamicode.com
首页 > 其他好文 > 详细

hrb——开锁魔法I

时间:2015-03-30 09:10:55      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

 

解题思路:从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\n",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次。

hrb——开锁魔法I

标签:

原文地址:http://www.cnblogs.com/chengsheng/p/4377068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!