// Joseph.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
#define NUM 100//总人数
#define N 30//报号数
int f(int m,int k,int i);
void f2();
int main(int argc, char* argv[])
{
for(int i=1;i<=NUM;i++)
printf("%d次出环:%d\n",i,f(NUM,N,i)+1);
f2();
return 0;
}
int f(int m,int k,int i)
{
if(i==1)
return (m+k-1)%m;
else
return (f(m-1,k,i-1)+k)%m;
}
void f2()
{
int total=0;
cout<<"输入用户数:";
cin>>total;
int number=0;
cout<<"输入选中的数字";
cin>>number;
int last=0;
for(int i=2;i<=total;i++)
{
last=(last+number)%i;
}
cout<<"最后出列的数字是:"<<last+1<<endl;
}
约瑟夫环输出最后一个数字
最新推荐文章于 2022-04-04 21:38:36 发布