首页 > 试题广场 >

约瑟夫问题I

[编程题]约瑟夫问题I
  • 热度指数:10896 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

已知n个人坐成一圈,按顺时针由1开始给大家编号。然后由第一个人开始顺时针循环报数,数到m的人出局,循环此过程直到最后只剩一个人。给定两个int nm,要求编写函数返回最后一个人的编号。保证n和m小于等于1000。

示例1

输入

5,3

输出

4
头像 胖胖不吹牛
发表于 2020-04-13 17:53:48
链表 public class Joseph { static class ListNode { int val; ListNode next = null; ListNode(int val) { this. 展开全文
头像 不想上班啤酒肚是单身
发表于 2023-03-18 23:22:32
遇到一点初学者遇到的问题 原因在于网页是核心代码模式,后台已经有了main函数,你只用写个函数返回函数值就行 main.cc : 5 : 5 : error : redefinition of 'main' int main() { ^ . / solution.h:7 : 5 : note : 展开全文
头像 Huster水仙
发表于 2023-01-12 21:29:57
数学的递推方法很巧妙,但推导需要时间 直接采用队列进行模拟 比较容易理解 循环队列的精髓在于: 符合条件:直接将队头元素取出,放到队尾;否则 直接取出丢弃 class Joseph { public: int getResult(int n, int m) { queue& 展开全文

问题信息

难度:
65条回答 31521浏览

热门推荐

通过挑战的用户

查看代码