【qduoj】C语言课程设计_约瑟夫问题
生活随笔
收集整理的這篇文章主要介紹了
【qduoj】C语言课程设计_约瑟夫问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
描述
?
有n只猴子,按順時針方向圍成一圈選大王(編號從1到n),從第1號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下一只猴子時,這個猴子就是猴王,編程求輸入n,m后,輸出最后猴王的編號。
輸入
?
每行是用空格分開的兩個整數,第一個是 n, 第二個是 m ( 0 < m, n < 300)。
輸出
?
對于每行輸入數據,輸出數據也是一行,即最后猴王的編號
輸入樣例 1?
6 2輸出樣例 1
5解題報告:
? 約瑟夫環問題的模板。
AC代碼:
#include<cstdio> #include<queue> #include<cstring> #include<cmath> #include<map> #include<iostream> #include<algorithm> #define ll long long const ll mod = 1e9+7; using namespace std; int n,m; int f[505]; int main() {scanf("%d%d",&n,&m);f[0] = 1;for(int i = 1; i<=n; i++) {f[i] = (f[i-1]+m)%i;}printf("%d\n",f[n]+1);return 0 ; }?
總結
以上是生活随笔為你收集整理的【qduoj】C语言课程设计_约瑟夫问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可能是最好看的骁龙8+手机 realme
- 下一篇: mtask.exe - mtask是什么