# data[].attributes.body
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main() {
srand(time(NULL)); // 初始化亂數種子

// 產生10期大樂透號碼
const int MAX_NUM = 49; // 大樂透最大號碼
const int NUM_PER_SET = 6; // 每組號碼數量
const int NUM_SETS = 10; // 號碼組數量
int lotto[NUM_SETS][NUM_PER_SET]; // 用二維陣列存放號碼
for (int i = 0; i < NUM_SETS; i++) {
cout << "第" << i + 1 << "期： ";
for (int j = 0; j < NUM_PER_SET; j++) {
int num = rand() % MAX_NUM + 1; // 隨機產生號碼
lotto[i][j] = num; // 存放到陣列中
cout << num << " ";
}
cout << endl;
}

// 選出一組中獎號碼
int winningNum[NUM_PER_SET]; // 存放中獎號碼
cout << endl << "中獎號碼： ";
for (int i = 0; i < NUM_PER_SET; i++) {
int num = rand() % MAX_NUM + 1; // 隨機產生號碼
winningNum[i] = num; // 存放到陣列中
cout << num << " ";
}
cout << endl;

char choice = 'Y';
while (choice == 'Y') {
cout << endl << "請輸入您要查詢的期數或一組號碼： ";
int input[NUM_PER_SET];
bool isNumSet = true; // 判斷是否為一組號碼
for (int i = 0; i < NUM_PER_SET; i++) {
cin >> input[i];
if (input[i] < 1 || input[i] > MAX_NUM) { // 輸入號碼超出範圍
isNumSet = false;
break;
}
}

if (isNumSet) { // 輸入的是一組號碼
bool isWinningNum = true;
for (int i = 0; i < NUM_PER_SET; i++) {
if (input[i] != winningNum[i]) { // 有任一數字不相同即非中獎號碼
isWinningNum = false;
break;
}
}
if (isWinningNum) {
cout << "您輸入的號碼中獎了！" << endl;
} else {
cout << "您輸入的號碼沒有中獎。" << endl;
}
int period = input[0];
if (period < 1 || period > NUM_SETS) { // 輸入期數超出範圍
cout << "查無此期。" << endl;
} else {
cout << "第" << period << "期： ";
for (int i = 0; i < NUM_PER_SET; i++) {
cout << lotto[period - 1][i] << " ";
}
cout << endl;
}
}

cout << "是否要繼續？（Y/N）";
cin >> choice;
if (choice != 'Y' && choice != 'y') {
break;
}
}

return 0;
}

# data[].attributes.headline
加上特別號 / 查詢期別

# data[].attributes.subject
加上特別號 / 查詢期別

# data[].attributes.body
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
srand(time(NULL)); // 設定亂數種子為當前時間
const int MAX_NUM = 49; // 大樂透號碼最大值
const int SPECIAL_NUM_MAX = 8; // 特別號最大值
const int NUMS_PER_DRAW = 6; // 每期抽出的號碼數量
const int DRAW_COUNT = 10; // 抽出期數
int nums[DRAW_COUNT][NUMS_PER_DRAW]; // 存放大樂透號碼
int special_nums[DRAW_COUNT]; // 存放特別號

// 隨機產生十期大樂透號碼及特別號
for (int i = 0; i < DRAW_COUNT; i++) {
// 產生六個不重複的號碼
for (int j = 0; j < NUMS_PER_DRAW; j++) {
bool is_duplicated = true;
while (is_duplicated) {
is_duplicated = false;
nums[i][j] = rand() % MAX_NUM + 1; // 產生 1~49 的亂數號碼
for (int k = 0; k < j; k++) {
if (nums[i][j] == nums[i][k]) {
is_duplicated = true; // 產生重複的號碼，需要重新產生
break;
}
}
}
}
// 產生特別號
special_nums[i] = rand() % SPECIAL_NUM_MAX + 1; // 產生 1~8 的亂數號碼
}

// 讓使用者輸入要查詢的期數
int target_draw;
cout << "請輸入要查詢的大樂透期數（1~" << DRAW_COUNT << "）：";
cin >> target_draw;

// 檢查輸入的期數是否有效
if (target_draw < 1 || target_draw > DRAW_COUNT) {
cout << "輸入的期數無效！" << endl;
return 0;
}

// 顯示輸入期數的大樂透號碼及特別號
cout << "第 " << target_draw << " 期：";
for (int i = 0; i < NUMS_PER_DRAW; i++) {
cout << nums[target_draw - 1][i] << " ";
}
cout << "特別號：" << special_nums[target_draw - 1] << endl;

return 0;
}

# data[].attributes.body
#include <iostream>
using namespace std;

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

const int MAX_NUM = 99; // 數字範圍上限
const int L_NUM = 6; // 大樂透號碼的個數

int main() {
int n; // 使用者輸入的需要產生的大樂透號碼的組數

// 詢問使用者需要產生幾期樂透號碼
cout << "請問需要產生幾期樂透號碼？" << endl;
cin >> n;

// 產生n組大樂透號碼
for (int i = 0; i < n; i++) {
int lotto[L_NUM]; // 用來存一期大樂透號碼的陣列

// 產生一組不重複的大樂透號碼
for (int j = 0; j < L_NUM; j++) {
bool is_duplicate; // 用來標記新產生的亂數是否與前面的重複
do {
is_duplicate = false; // 預設新產生的亂數不重複
lotto[j] = rand() % MAX_NUM + 1; // 產生1-99之間的亂數

// 檢查新產生的亂數是否與之前的重複
for (int k = 0; k < j; k++) {
if (lotto[j] == lotto[k]) {
is_duplicate = true;
break;
}
}
} while (is_duplicate); // 如果新產生的亂數重複，則需要重新產生一個新的亂數
}

// 將一組大樂透號碼印出來
cout << "第" << i+1 << "期大樂透號碼：";
for (int j = 0; j < L_NUM; j++) {
cout << lotto[j] << " ";
}
cout << endl;
}

return 0;
}

# data[].attributes.body
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
//亂數數量取6個
const int SIZE = 6;
int result[SIZE];

srand(time(NULL));

// 產生不重複亂數並存入result陣列中
for (int i = 0; i < SIZE; i++) {
result[i] = rand() % 49 + 1;

// 確保不會重複
for (int j = 0; j < i; j++) {
if (result[i] == result[j]) {
i--;
break;
}
}
}

// 使用氣泡排序法按照數字大小排列
for (int i = 0; i < SIZE - 1; i++) {
for (int j = 0; j < SIZE - i - 1; j++) {
if (result[j] > result[j + 1]) {
int temp = result[j];
result[j] = result[j + 1];
result[j + 1] = temp;
}
}
}

// 印出結果
cout << "result: ";
for (int i = 0; i < SIZE; i++) {
cout << result[i] << " ";
}
cout << endl;

return 0;
}

# data[].attributes.body
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
//亂數數量取6個
const int SIZE = 6;
int result[SIZE];

srand(time(NULL));

// 產生不重複亂數並存入result陣列中
for (int i = 0; i < SIZE; i++) {
result[i] = rand() % 49 + 1;

// 確保不會重複
for (int j = 0; j < i; j++) {
if (result[i] == result[j]) {
i--;
break;
}
}
}

// 使用氣泡排序法按照數字大小排列
for (int i = 0; i < SIZE - 1; i++) {
for (int j = 0; j < SIZE - i - 1; j++) {
if (result[j] > result[j + 1]) {
int temp = result[j];
result[j] = result[j + 1];
result[j + 1] = temp;
}
}
}

// 印出結果
cout << "result: ";
for (int i = 0; i < SIZE; i++) {
cout << result[i] << " ";
}
cout << endl;

return 0;
}

# data[].attributes.body
#include <iostream>
using namespace std;

int main() {
int even_nums[6];
srand(time(0));
int count = 0;
while (count < 6) {
int num = rand() % 100 + 1;    //先產生1-100的亂數
if (num % 2 == 0) {    //條件須為偶數
even_nums[count] = num;
count++;
}
}

for (int i = 0; i < 6; i++) {   //等到陣列裡達到6個
cout << even_nums[i] << " ";
}
cout << endl;
return 0;
}