#include<stdio.h>
int joseph(int n, int t) {
if (n == 1) return 0;
return (joseph(n - 1, t) + t) % n; //%:0~n-1
}
int main(void) {
int num, out;
printf("Number of people: ");
scanf("%d", &num);
printf("Outgoing number: ");
scanf("%d", &out);
printf("Survivor: %d\n", joseph(num, out) + 1);
return 0;
}
【C语言】09_递归实现约瑟夫环(Joseph)
于 2024-05-10 21:27:09 首次发布