对于第一个乘客来说 他有三种选择

坐在正确的(自己的位置), 那么后面的乘客都不会乱,所以第n个乘客可以坐到自己的位置, 1/n * 1.

坐在第n个乘客的位置,那么第n个乘客肯定无法坐到自己的位置, 1/n * 0.

坐在[1,n-1]之间的某个位置K.

对于第K个乘客而言,自己的位置K已经被乘客1给占了,而[2,K-1]的乘客先于K乘客 上飞机,能找到自己的位置并坐下,所以当K乘客上飞机时,留给他的选择是

第1个座位,以及[K+1,n]的座位。

此时K乘客同样有3个选择,

如果他坐在正确的座位,那么后面的乘客都不会乱,第n个乘客可以坐到自己的位置,

只不过此时对于K乘客而言,正确的座位就是座位1。

坐在第n个乘客的位置,那么第n个乘客肯定无法坐到自己的位置

坐在[K+1,n-1]之间的某个位置。

可以发现对于第一个乘客和第K个乘客,他们面临的选择是一样的,只不过问题的规模不一样。第K个乘客时,问题的规模只有n-K+1. (为何, 上面已经解释过了,对于第K个乘客而言,自己的位置K已经被乘客1给占了,而[2,K-1]的乘客先于K乘客 上飞机,能找到自己的位置并坐下)。

所以此题公式为

p[1] = 1.0;

p[2] = 0.5;

p[3] = 1/3 + p[2]/3 = 0.5;

p[4] = 1/4 + p[2]/4 + p[3]/4 = 0.5

p[n] = 1/n + p[2]/n + ..... + p[n-1]/n

np[n] = 1+p[2]+p[3]+......+p[n-1];

(n+1)p[n+1]=1+p[2]+p[3]+......+p[n]

(n+1)p[n+1]-np[n]=p[n];

p[n+1]=p[n];(n>=2)

所以:

p[n]=1(n=1)

p[n]=0.5(n=2,3,4,5,...)

c语言分配飞机10个座位,leetcode1227(飞机座位分配)--C语言实现相关推荐

  1. 2020 年最牛逼的 10 门编程语言,别在选错语言了

    对于很多初学编程的人来说,尤其是马上要入学的大一新生来说,选择哪门子编程语言实在是个痛苦的事.选择对了,毕业后顺利找到工作,完美走向职场:选择错了,毕业后受伤的才华无处安放,大学算是虚度光阴了. 前一 ...

  2. 统计正数和负数的个数用C语言数组,输入10个整数统计其中的正数和负数的个数,用数组实现...

    编一个程序,输入10个整数,统计并输出其中正数.负数和零的个数.要求用C语言编程. #includemain(){intt,i,c0=0,c1=0,c2=0;for(i=0;i 输入10个整数,统计并 ...

  3. 10万字C语言入门手册,历时三个月,详细的C语言教程终于出炉了,给你全新C语言入门体验

    C语言是一种非常流行的编程语言,它是许多现代编程语言的基础. 什么是计算机? 计算机是一种用于存储.处理.和输出数据的电子设备.它通过程序控制和数学算法来实现数据处理.计算机通过输入设备(如键盘.鼠标 ...

  4. c语言已知某班男生有n1,C语言程序设计–第10章课后习题.pdf

    <C语言程序设计–第10章课后习题.pdf>由会员分享,可在线阅读,更多相关<C语言程序设计–第10章课后习题.pdf(11页珍藏版)>请在装配图网上搜索. 1.C语言程序设计 ...

  5. 语言中出现蘌ress_【语言发育迟缓,10大表现不能忽视?】

    孩子的语言发育问题一直是很多父母关注的重点,但也由于工作繁忙等种种原因,很多父母没办法花费更多的时间陪在孩子身边,只能把孩子交给爷爷奶奶.外公外婆这些老人,这也就导致孩子的语言出现问题时,父母不能及时 ...

  6. AI:2020年6月22日北京智源大会演讲分享之09:40-10:10Mari 教授《基于显式上下文表征的语言处理》、10:10-10:40周明教授《多语言及多模态任务中的预训练模型》

    AI:2020年6月22日北京智源大会演讲分享之09:40-10:10Mari 教授<基于显式上下文表征的语言处理>.10:10-10:40周明教授<多语言及多模态任务中的预训练模型 ...

  7. ARKit从入门到精通(10)-ARKit让飞机绕着你飞起来

    转载请注明出处:ARKit从入门到精通(10)-ARKit让飞机绕着你飞起来 1.1-ARKit物体围绕相机旋转流程介绍 1.2-完整代码 1.3-代码下载地址 废话不多说,先看效果 由于是晚上,笔者 ...

  8. c语言只能最大值不能最小值,用c语言编写输入10个无序的整数,去掉一个最大值和最小值,然后求其平均值...

    用c语言编写"输入10个无序的整数,去掉一个最大值和最小值,然后求其平均值"以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...

  9. c语言不允许有常量的是,C语言试卷第10套含答案.doc-资源下载人人文库网

    C语言试卷第10套 含答案.doc 第十套一.判断题 第1题:在求C语言的表达式时,只需考虑运算符的优先级. 参考答案:错 第2题:二进制文件与ASCII文件相比要占用较多的存储空间.参考答案:错 第 ...

最新文章

  1. 【怒怼老乔】苹果手机ios系统居然特喵的不支持日期yyyy-MM-dd HH:mm:ss.ms,只支持 yyyy/MM/dd HH:mm:ss
  2. Java图形化界面设计——容器(JFrame)
  3. SQLite中的内连接简化技巧
  4. 数组中求子数组和最大
  5. css隐藏状态,CSS元素隐藏和显示
  6. Linux内核文档翻译
  7. pip 指定路径安装工具包
  8. php 数值相加_php递归遍历多维数组,合并值并相加
  9. cocos2d 屏幕適配_Cocos2d-x 3.1 一步步做屏幕适配
  10. POJ1958-Strange Towers of Hanoi【递推】
  11. Win10 通过 VirtualBox安装CentOS7操作手册
  12. 如何查html病毒svchost.exe,小编教你在Win7系统中检查svchost.exe进程是否为病毒的方法步骤...
  13. Zabbix 3.0入门到企业实战阅读目录
  14. 苹果6怎样分屏_皮皮喵最新版下载安卓版更新 0.2.6
  15. 用matlab如何画中国地图,利用matlab画中国地图的几种方法
  16. 装系统比较好用的PE工具推荐
  17. 20210726:FLAC刻录音乐CD教程05-总结
  18. [转载]《澄明之境》:投资是一种信仰
  19. 动态表格的实现(layui动态表格实现)
  20. 【宇麦科技】某新能源企业的群晖nas存储方案:让“海量数据”跑出“加速度”

热门文章

  1. ajax 跨站返回值,jquery ajax 跨域问题
  2. treeset java_Java TreeSet iterator()方法与示例
  3. Java Throwable toString()方法与示例
  4. 三位bcd加法计数器_两个8位BCD编号的加法| 8085微处理器
  5. 线程池是如何执行的?拒绝策略有哪些?
  6. 复盘线上的一次OOM和性能优化!
  7. 队列实现栈的3种方法,全都击败了100%的用户!
  8. 面试官 | 如何提高服务器的并发能力?
  9. 算法复习第六章第七章
  10. include和require区别