F(1)=0

当有2个人的时候(N=2),报道(M-1)的人自杀,最后自杀的人是谁?应该是在只有一个人时,报数时得到的最后自杀的序号加上M,因为报到M-1的人已经自杀,只剩下2个人,另一个自杀者就是最后自杀者,用函数表示:

F(2)=F(1)+M

可以得到递推公式:

F(i)=F(i-1)+M

因为可能会超出总人数范围,所以要求模

F(i)=(F(i-1)+M)%i

有了递推公式就可以在O(N)时间求出结果

#include

using namespace std;

int main()

{

int N;//人的总个数

int M;//间隔多少个人

cin>>N;

cin>>M;

int result=0;//N=1情况

for (int i=2; i<=N; i++)

{

result=(result+M)%i;

}

cout<

return 0;

}

该题的代码如下:

import java.util.Scanner;

public class Main{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

System.out.println(f(n)+1);

}

public static int f(int n){

if(n==1){

return 0;

}

else{

return (f(n-1)+3)%n;

}

}

}

猴子选大王 java,PAT-JAVA-5-28 猴子选大王 (20分)相关推荐

  1. PAT乙级 1003 我要通过! (20分)

    PAT乙级练习总结 PAT乙级 1003 我要通过! (20分) 第二版有注释,希望我的思路可以帮助你. 文章目录 PAT乙级练习总结 一.1003题目 二.第一版只过了三个点 三.第二版 1003 ...

  2. pat 1124 Raffle for Weibo Followers(20 分)

    1124 Raffle for Weibo Followers(20 分) John got a full mark on PAT. He was so happy that he decided t ...

  3. 【PAT乙】1069 微博转发抽奖 (20分) set

    1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...

  4. PAT 乙级1037 在霍格沃茨找零钱 (20分)

    1037 在霍格沃茨找零钱 (20分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九 ...

  5. PAT --- 1037.在霍格沃茨找零钱 (20 分)

    1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十 ...

  6. Java Swing界面编程(28)---复选框:JCheckBox

    程序能够通过JRadioButton实现单选button的功能,那么要实现复选框的功能,则必须使用JCheckBox完毕. package com.beyole.util;import java.aw ...

  7. PAT乙级 1052 卖个萌 (0/20 分) Java 未实现

    似乎由于PAT编译器问题,此题Java写法无解.我也不是非常懂这个,csdn找到如下一篇文章,他的代码测试点2通过了,给了4分 [JAVA]PAT 乙级 1052 卖个萌(未通过测试点0.1) 我的0 ...

  8. 【PAT甲级 LinkedHashMap】1041 Be Unique (20 分) Java、C++版

    题目 题目的意思是,找到第一个不重复的元素.输出它. 一开始用Java做,试了好多种方法都超时.后来换用C++通过了. AC题解:C++版 用Java尝试了各种方式,都是后两个测试点过不去,只好换C+ ...

  9. java8 朗姆表达式,java同步数据库时间问题[问题点数:20分,结帖人vtison]

    查看您说的数据类型,例如MySQL数据库,日期仅具有日期,时间仅具有时间,datetime是常用的记录时间类型,它可以精确到毫秒,就好像它是时间戳一样,时间戳也是可选的,第一个表中的timestamp ...

  10. 7-3 java高级 22_19寻找最大块的问题 (20 分)

    寻找最大正方形块的问题,设计一个动态编程的算法,输入一个10*10的方格矩阵,矩阵元素为0或1,查找包含1值的最大块,输出左上角和右下角坐标,左上角坐标设为0.0. 输入格式: 输入一个10*10的方 ...

最新文章

  1. mysql show processlist info null_关于查询mysql processlist的建议
  2. flink 三种时间机制_360深度实践:Flink 与 Storm 协议级对比
  3. 大话数据结构 java源代码_大话数据结构(八)Java程序——双向链表的实现
  4. java从哪学到哪_Java JVM怎么学习啊?从哪方面入手?
  5. 在想的事情......
  6. PNG转ICO在线转换
  7. 使用 BulkLoad 向 HBase 中批量导入数据
  8. 软件推荐(6):滴答清单
  9. 交换机的Zoning技术
  10. 用python识别微信消息界面聊天输入框位置
  11. DWR服务器推 教程
  12. 学好Python的未来7大就业方向,月薪不低于2w!
  13. 计算机量子化学计算焓变,物理化学实验
  14. 2020蓝天杯论文评比系统_我所师生参加安徽省药理学会2020年学术年会
  15. v2视频服务器退出系统怎么启动,v2会议视频系统
  16. LoadRunner破解
  17. android 车载控制手机音乐播放器,【图】浅谈车载音响播放器之安卓篇
  18. pyqt5 同时显示多个画面_体育赛事直播应用NHL.TV可让屏幕同时显示6个画面,全景观看比赛...
  19. linux awk命令根据分隔符输出,Linux运维知识之Linux awk命令详解
  20. 一些有用的安全工具和链接

热门文章

  1. 优秀!史学博士在Science杂志发表一篇学术评论
  2. 路透社2017年度最佳图片,向你展示地球过去的一年
  3. (pytorch-深度学习系列)pytorch实现自定义网络层,并自设定前向传播路径-学习笔记
  4. html 中 标签里面的id 和 name 有什么区别?
  5. Delta3d组件以及消息机制
  6. HUE 打开 WorkFlow异常 Operation category READ is not supported in state standby
  7. Spring官方RSocket Broker 0.3.0发布: 快速构建你的RSocket架构
  8. Cloudera CDP 企业数据云测试开通指导
  9. AliExpress智能营销引擎大揭秘 - AnalyticDB如何做到快准狠省
  10. 限免下载!揭秘你不知道的计算机“进化论”