C语言求解:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位(约瑟夫问题)

完整代码:

复制代码
/* 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人
退出圈子,问最后留下的是原来第几号的那位*/
#include<stdio.h>

//约瑟夫问题
//递推关系f(n)=(f(n-1)+2)\mod n + 1 
int func(int n){
    if (n==1)
    {
        return 1;
    }
    else{
        return (func(n-1)+2)%n+1;
    }
}

int main(){
    int n;
    printf("输入人数n:");
    scanf("%d",&n);
    printf("最后留下的是原来第%d号的那位",func(n));
    return 0;
}

运行截图:

相关推荐
刃神太酷啦几秒前
基础算法篇(4)(蓝桥杯常考点)—数据结构(进阶)
数据结构·c++·算法·蓝桥杯·哈希算法·蓝桥杯c++组
Zz_waiting.5 分钟前
多线程代码案例(定时器) - 3
开发语言·算法·安全·javaee
飞川撸码8 分钟前
【LeetCode 热题100】139:单词拆分(动态规划全解析+细节陷阱)(Go语言版)
算法·leetcode·golang·动态规划
三月七(爱看动漫的程序员)36 分钟前
LLM面试题八
数据库·gpt·算法·langchain·prompt·启发式算法·llama
Pitayafruit37 分钟前
🔍抖音首次公开推荐算法原理:大白话讲讲它是如何让你刷到停不下来
人工智能·深度学习·算法
Hole_up44 分钟前
1. 两数之和 leetcode
python·算法·leetcode·职场和发展·蓝桥杯
wen__xvn1 小时前
蓝桥杯每日刷题c++
c++·算法·蓝桥杯
飞天狗1111 小时前
codeforces B. Large Array and Segments
c++·算法·贪心算法
_extraordinary_1 小时前
笔试专题(七)
数据结构·算法·哈希算法·贪心·线性dp
Tony881 小时前
百万级数据量下找到数组中的第K个最大元素
算法