5-28 猴子选大王 (20分)
来源:互联网 发布:淘宝直通车关键词价格 编辑:程序博客网 时间:2024/05/16 03:24
5-28 猴子选大王 (20分)
一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?
输入格式:
输入在一行中给一个正整数N(≤1000)。
输出格式:
在一行中输出当选猴王的编号。
输入样例:
11
输出样例:
7
思路:
这道题主要是考约瑟夫环路问题,因为用模拟的办法时间复杂度会很高,所以有
递推公式
f[1]=0;
f[i]=(f[i-1]+m) mod i; (i>1)
有了这个公式,我们要做的就是从1-n顺序算出f的数值,最后结果是f[n]。因为实际生活中编号总是从1开始,我们输出f[n]+1。
代码:
import java.util.Scanner;/* * 约瑟夫环路问题 */public class Main {public static int f(int a){//从0开始的if(a == 1)return 0;else return (f(a-1)+3)%a;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a = sc.nextInt();System.out.println(f(a)+1);//结果要加一}}
阅读全文
0 0
- 5-28 猴子选大王 (20分)
- 5-28 猴子选大王 (20分)
- 5-28 猴子选大王 (20分)
- 5-28 猴子选大王 (20分)
- 5-28 猴子选大王 (20分)
- 5-28 猴子选大王 (20分)
- 5-28 猴子选大王 (20分)
- PAT-JAVA-5-28 猴子选大王 (20分)
- 5-28 猴子选大王
- 7-50 猴子选大王(20 分)
- PTA 5-28 猴子选大王
- 项目5 -- 猴子选大王
- 项目5 -- 猴子选大王
- 5-28 猴子选大王 ,即约瑟夫环问题
- [pattest]7-28 猴子选大王
- PAT数组-11. 猴子选大王(20)
- 数组-11. 猴子选大王(20)
- 数组-11. 猴子选大王(20)
- 04-树4 是否同一棵二叉搜索树 (25分)
- windows 下 Redis 主从 读写分离
- Entity Framework- Databinding with WinForms
- 应付考试用的KMP算法中next数组及nextval数组的计算(笑)
- 北大 AI 公开课第8讲:华为李航——NLP 有 5 个基本问题,深度学习有4个做得很好 (PPT)
- 5-28 猴子选大王 (20分)
- AOP学习之路
- Lombok 消除冗长的 java 代码
- 【GDOI2017 Day 1 T2】取石子游戏
- 主机序和网络序转换
- 机器学习中用来防止过拟合的方法有哪些?
- UEditor解析数据库中HTML标签,C标签或者S标签
- 免费的论文查重网站
- 北大 AI 公开课第9讲:滴滴研究院副院长叶杰平——深度学习在交通领域应用潜力巨大