C++ 入門指南 4.01
練習 30.9 參考程式 - 練習發展猜數字遊戲計算核心
#include <iostream>
#include <random>
#include <set>
using namespace std;
int main(void) {
// 宣告答案變數
int answer;
while (true) {
// 建立隨機設備變數
random_device r;
// 建立擬隨機數產生器變數
mt19937 e(r());
// 建立隨機分佈變數
uniform_int_distribution<mt19937::result_type> n(1000, 9999);
// 建立隨機答案變數
answer = n(r);
// 將答案數字個別放入集合
set<int> answer_set;
int multiple = 1000;
int demo = answer;
for (int i = 0; i < 4; i++) {
int demo2 = demo / multiple;
answer_set.insert(demo2);
demo = demo % multiple;
multiple /= 10;
}
// 檢查是否有重複數字
if (answer_set.size() == 4) {
break;
}
else {
continue;
}
}
// 印出答案變數
cout << "遊戲答案:" << answer << endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:guess_demo09.cpp
編譯:g++ guess_demo09.cpp
執行:./a.out
功能:猜數字遊戲核心的發展中版本
作者:張凱慶 */
回到練習題目