集齐卡片赢大奖(一)

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
 
描述

小时候你一定曾经为收集一套三国人物的卡片而买过不少零食吧?这些小吃的袋子里一般都会有一张卡片,如果你能收集一整套的话,你就可以去兑奖了,结果你买了不少零食却怎么也集不齐一套……

为了简单起见,我们假设每包零食都会有且只有一张卡片,而每种卡片的数量都相等并且都有无穷多张,那么我们现在就来计算一下,平均来说你收集一套有n种的卡片需要买多少包这样的零食呢?

 
输入
多组测试数据,每行一个整数n(1<1<10^9),以文件结束。
输出
每个结果占一行,四舍五入为整数。
样例输入
1
5
999999999
样例输出
1
11
21300481480 讲解:

收集一种卡片的概率为1,然后再买一袋即可收集2种的概率(n-1)/n,

所以期望为n/(n-1)依次类推,得到所有的期望为:

f[n_] := Sum[n/k, {k, 1, n}]

上式可以优化,利用高数学的基数,Ln(n)=(1+1/2+1/3+....+1/n),可以精简为

n*(Ln(n)+0.) 其中常数为欧拉常数

代码一:

 #include<stdio.h>
#include<math.h>
int main()
{
double ans;
int n;
while(~scanf("%d",&n))
{
if(n<)
{
ans=0.0;
for(int i=;i<=n;i++)
ans+=1.0*n/i;
printf("%lld\n",(long long)(ans+0.5));
}
else{
printf("%lld\n",(long long)(n*(log(n+)+0.5772156649)));
}
}
return ;
}

代码二:

 #include<stdio.h>
#include<math.h>
#define Y 0.57721566490153286060651209
int main()
{
double n;
while(~scanf("%lf",&n))
printf("%.0lf\n",(log(n)+Y)*n+0.49999);
}

nyoj576 集齐卡片赢大奖(一)的更多相关文章

  1. 微软AI发布会,集齐六大亮点召唤黑科技!

    7月12日,微软合作伙伴大会Inspire在华盛顿特区如火如荼地举行.同一天,在相隔5个时区的伦敦,微软还举办了一场关于人工智能的发布会.这是一场智能技术和情感体验两相交融的科技盛宴,既有黑科技,也有 ...

  2. P2P需集齐四大证照

    今后做P2P需集齐四大证照 比牌照制还严 2016-09-05 11:53:24 分类:热点观察 作者:汪祖刚 8月24日,P2P网贷监管细则在千呼万唤中始出来,整个行业内外的关注热度可谓史无前例.有 ...

  3. 我用 Python 集齐了五福

    ​ [新智元导读]又到了每年集五福的时间.你的五福集齐了吗?每天在各种群里苦苦求扫福,或者忍受着别人天天求扫福,是不是有点厌倦了.作为技术人员,怎么能忍受得了这种低效的全人工操作呢?今天就为大家推荐用 ...

  4. 爱,死亡和机器人 第十四集 齐马蓝 中文字幕(Python处理utf8文件获取想要的内容)

    处理代码 file = "a.srt" fi = open(file, mode='r') a = fi.readline() i = 1 while len(str(a)) != ...

  5. 团体程序设计天梯赛-练习集-L1-044. 稳赢

    L1-044. 稳赢 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招.但是!为了不让对方输得太惨,你需要每隔K ...

  6. 集齐所有机制的按键控制LED驱动

    内核版本:linux2.6.22.6 硬件平台:JZ2440 驱动源码 final_key.c : #include <linux/module.h> #include <linux ...

  7. 【RTOS】基于V7开发板的uCOS-III,uCOS-II,RTX4,RTX5,FreeRTOS原版和带CMSIS-RTOS V2封装层版全部集齐

    RTOS模板制作好后,后面堆各种中间件就方便了. 1.基于V7开发板的最新版uCOS-II V2.92.16程序模板,含MDK和IAR,支持uC/Probe https://www.cnblogs.c ...

  8. 【有奖众测】给HMS Core文档提建议,赢大奖华为Watch!

    为了提升HMS Core开发者的文档体验,提升开发效率,邀请所有开发者体验HMS Core文档,并贡献您的建议. 无论是文档让您困惑的地方,还是您发现的问题,或者您觉得可以做的更好的地方,都可以尽情的 ...

  9. hdu4336 Card Collector 概率dp(或容斥原理?)

    题意: 买东西集齐全套卡片赢大奖.每个包装袋里面有一张卡片或者没有. 已知每种卡片出现的概率 p[i],以及所有的卡片种类的数量 n(1<=n<=20). 问集齐卡片需要买东西的数量的期望 ...

随机推荐

  1. spring-tool-suite(STS) 创建 spring boot项目

    1.创建一个Spring Starter Project工程(new --> Spring Starter Project) 2.选择自己需要的依赖,因为想要通过REST方式来验证是否成功创建, ...

  2. 基于jquery的锚点滚动插件(百度百科效果) anchorScroll.js

    1.插进使用场景 请打开https://baike.baidu.com/item/%E6%97%A5%E6%9C%AC%E5%8A%A8%E7%94%BB#hotspotmining,查看百度百科页面 ...

  3. javaScriptObject转String

    function obj2str(o){ var r = []; if(typeof o =="string") return "\""+o.repl ...

  4. UVa 1303 - Wall

    题目:有非常多点.修一座最短的围墙把素有点围起来,使得全部点到墙的距离不小于l. 分析:计算几何,凸包. 假设.没有距离l的限制.则答案就是凸包的周长了.有了距离限制事实上是添加了2*π*l. 证明: ...

  5. spring mvc自定义数据转换

    @InitBinder   在controller中注册一个customer protperty editor以解析request中的参数并通过date bind机制与handler method中的 ...

  6. 利用SynchronizationContext.Current在线程间同步上下文

    简而言之就是允许一个线程和另外一个线程进行通讯,SynchronizationContext在通讯中充当传输者的角色.另外这里有个地方需要清楚的,不是每个线程都附加SynchronizationCon ...

  7. WinForm如何调用Web Service

    参考地址 今天看了李天平关于WinForm调用Web Service的代码,我自己模仿做一个代码基本都是复制粘贴的,结果不好使.郁闷的是,又碰到那个该死的GET调用Web Service,我想肯定又是 ...

  8. Swift3.0生成二维码、扫描二维码、相册读取二维码,兼容iOS7(结合ZXingObjC)

    二维码生成 //MARK: 传进去字符串,生成二维码图片(>=iOS7) text:要生成的二维码内容 WH:二维码高宽 private func creatQRCodeImage(text: ...

  9. JAVA常见异常解析

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

  10. windows平台下压缩tar.gz

    windows平台下很多压缩软件(如360压缩)都支持tar.gz的解压,但不支持压缩 推荐一款支持tar.gz压缩的软件7zip 下面介绍可视化和命令行两种操作方式将文件压缩为tar.gz 可视化操 ...