約瑟夫問題,輸入總人數,自動產生大於0小於n的隨機數
#include
#include
#include
#include
using namespace std;
int main() {
int m, n;
cout << “請輸入總人數” << endl;
cin >> n;
srand(time(0));
m = rand() % n + 1;
cout << “隨機數為:” << m << endl;
vectortot;
if (n <= 0) {
cout << “無效數字” << endl;
}
else {
for (int i = 0; i < n; i++) {
int j = 1;
tot.push_back(j);
}
int i = 0;
int p = 0;
while (1) {
while (((p + i + 1) % n) != 0 && tot[(p + i + 1) % n - 1] == 0) {
p++;
}
if ((p + i + 1) % n == 0 && tot[n - 1] == 0) {
p++;
while (((p + i + 1) % n) != 0 && tot[(p + i + 1) % n - 1] == 0) {
p++;
}
}
if ((p + i + 1) % n == 0 && (i + 1) % m == 0) {
tot[n - 1] = 0;
}
if ((p + i + 1) % n != 0 && (i + 1) % m == 0) {
tot[(p + i + 1) % n - 1] = 0;
}
if (i == (n - 1) * m - 1) {
break;
}
i++;
}
for (int i = 0; i < n; i++) {
if (tot[i] == 1) {
cout << “留下的最後一個人的原編號為:” << i + 1 << endl;
break;
}
}
cout << “程式結束” << endl;
}
return 0;
}
相關文章
- 約瑟夫環(約瑟夫問題)求最後出列的人數
- 約瑟夫問題
- 約瑟夫環問題
- 約瑟夫環(Josephus)問題--報數遊戲(連結串列)遊戲
- 約瑟夫問題(丟手絹問題)
- 猴子選大王,約瑟夫問題
- 關於如何產生隨機數的幾種方法彙總!(2018.07.08)隨機
- 約瑟夫環問題 猴子選大王問題
- 約瑟夫生者死者遊戲問題遊戲
- 小於n的最大數
- 演算法訓練 - 調和數列問題 輸入一個實數x,求最小的n使得,1/2+1/3+1/4+...+1/(n+1)>=x。 輸入的實數x保證大於等於0.01,小於等於5.20,並且恰好有兩位小數。你的演算法
- Matlab產生隨機數函式小結Matlab隨機函式
- zcmu1862——zbj的狼人殺(約瑟夫環問題)
- R產生隨機數隨機
- 約瑟夫環(超好的程式碼存檔)--19--約瑟夫環--LeetCode面試題62(圓圈最後剩下的數字)LeetCode面試題
- 輸入N,再輸入N個數,N
- Math類產生隨機數後保留一位小數隨機
- c++產生隨機數C++隨機
- 迴圈連結串列(約瑟夫問題)--python實現Python
- UVALive 3882--And Then There Was One+約瑟夫環問題變形
- Random 專案總結 -11 產生隨機數字random隨機
- 約瑟夫環遊戲遊戲
- java環形連結串列約瑟夫環問題筆記Java筆記
- 【筆記】如何產生隨機數筆記隨機
- 洛谷題單指南-線性表-P1996 約瑟夫問題996
- 【JAVA習題六】輸入兩個正整數m和n,求其最大公約數Java
- 如何產生指定範圍的隨機數隨機
- 小於n的最大數,記一道位元組面試題面試題
- 約瑟夫環(線性列表的思想)
- 03:因子 檢視 提交 統計 提問 總時間限制: 8000ms 記憶體限制: 65536kB 描述 輸入1個整數n。從小到大依次輸出n的所有因子。 輸入 1個整數n(n<20億) 輸出 升序輸出n的所記憶體
- matlab中的產生隨機數的rand函式Matlab隨機函式
- 約瑟夫環(陣列實現)陣列
- 約瑟夫環(vector類解決)
- 約瑟夫·寇德卡:成為一個吉普賽人
- 牛客題霸NC132環形連結串列的約瑟夫問題Java題解Java
- 對於隨機數的一些分析隨機
- Adroid edittext 輸入小數時只能輸入到小數點後的固定位數
- ALGO-201 大等於n的最小完全平方數Go