博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1099---数学 | 思维
阅读量:5080 次
发布时间:2019-06-12

本文共 960 字,大约阅读时间需要 3 分钟。

 

题意:1~n编号的彩票,要买全,等概率条件下平均要买几张。
已经买了m张时,买中剩下的概率为1-m/n,则要买的张数为1/(1-m/n)
n=2,s=1+1/(1-1/2);n=3,s=1+1/(1-1/3)+1/(1-2/3)
s=1+1/(1-1/n)+1/(1-2/n)+1/(1-3/n)+……+1/(1-(n-1)/n)=n/n+n/(n-1)+n/(n-2)+……+n/1=sum(n/i),i=1~n
b/a+d/c=(bc+ad)/(ac)
然后递推着通分,化简;输出。

 

///实现 sum(n/i) (i=1~n)#include
#include
#include
#include
#include
#include
#include
using namespace std;#define LL long longLL gcd(LL a,LL b){ return b==0?a:gcd(b,a%b);}struct fen{ LL a,b;};fen& add(struct fen&a,struct fen&b){ a.a=a.a*b.b+a.b*b.a; a.b=a.b*b.b; LL t=gcd(a.a,a.b); a.a/=t; a.b/=t; return a;}int ditNum(LL a){ int cnt=0; while(a) { cnt++; a/=10; } return cnt;}int main(){ int n; LL fenz=0,fenm=0; struct fen f,f1; while(~scanf("%d",&n)) { f.a=n;f.b=1; for(int i=2;i<=n;i++) { f1.a=n;f1.b=i; f=add(f,f1); } if(f.a%f.b==0) { cout<

 

转载于:https://www.cnblogs.com/kimsimple/p/7123578.html

你可能感兴趣的文章
Android TextView加上阴影效果
查看>>
《梦断代码》读书笔记(三)
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
spring security 11种过滤器介绍
查看>>
代码实现导航栏分割线
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
关于源程序到可运行程序的过程
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
PIGOSS
查看>>
软件目录结构规范
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>
设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>