복권 시뮬레이션🧧

gcoco·2023년 5월 6일
0
post-thumbnail

안녕하세요! 인생 여전한 GCOCO입니다!


잡설 한 COOKIE🍪

흠... 여러분은 복권을 구매해보신적이 있으신가요?
저는 집 근처의 복권판매점에서 때때로 인생이 우울할때 5천원권을 한 장 사는 경우가 있습니다.
물론 당연하게도, 1등에 당첨된 적은 없습니다!

그런데... 추첨되는 번호가 아무리 랜덤이라고는 하지만!
가끔씩 번호를 자동으로 골라주는 복권으로 구매하고 번호를 보며 드는 생각은

'아니 이렇게 번호를 뽑아주면 어떡하니 복권기계야........' 라는 생각이 들 때가 자주 있습니다.

예를들어 연속된 번호 4자리가 있는것을 보면 이번회차도 글렀구나 생각이 든단 말이죠.

아무튼! 오늘의 할 것은 무엇이냐.

나도 한번 만들어보자. 복권번호생성기!


주사위로 예열하기 ☸

그 전에 앞서 간단하게 사용될 library들을 알아봅시다!

#include <iostream>
#include <cstdlib>//rand()함수를 이용하기 위한 헤더

using namespace std;

int main() {
	int start;

	for (int k = 0; k < 5; k++) {
		cin >> start;
		srand(start);

		for (int i = 0; i < 10; i++) {
			int num = rand() % 6 + 1;//%6을 이용하면 0~5의 값이 나온다!
			cout << num << ' ';
		}
		cout << endl;
	}

	return 0;
}

rand함수는 cstdlib에 포함되어있는 함수입니다!
흥미롭게도 이 rand 함수는 마치 '랜덤처럼 보이는' 형태의 배열의 값을 사용한다는 사실을 알고 계신가요?!
그렇기에 rand 함수가 출력할 배열의 시작점을 결정해주는 역할을 하는것이 바로 srand 함수입니다!
위의 코드와 같이 seed값을 입력해주면 내부적 처리 후 결정된 시작점으로 부터 rand 함수가 사용하는 배열이 호출될때마다 그 값이 순서대로 출력되는 것이죠!

실제로 위의 코드를 실행해보시면 다음과 같은 출력값을 얻으실 수 있을겁니다.

다른 값도 확인해볼까요 ?

흥미롭게도, 첫번째와 두번째에 실행된 1의 입력시의 출력이 동일함을 확인할 수 있었습니다.

그렇다면 어떤식으로 해야 정말로 우리가 원하는 '랜덤'을 이용할 수 있을까요?

바로 <ctime> library를 이용하는 것입니다!

#include <iostream>
#include <cstdlib>//rand()함수를 이용하기 위한 헤더
#include <ctime>

using namespace std;

int main() {
	srand(static_cast<int>(time(NULL)));//시간을 기반으로한 random한 시드 사용!
	//5회 출력해보자~
    for (int k = 0; k < 5; k++) {
		for (int i = 0; i < 10; i++) {
			int num = rand() % 6 + 1;
			cout << num << ' ';
		}
		cout << endl;
	}
	return 0;
}

위와같이 <ctime> 헤더에 선언된 time함수를 이용한다면, 시간에 따른 값을 기반으로 seed가 정해지는것이죠!
참고로 time(NULL)의 반환값은 long long type이기 때문에, static_cast를 통한 int형으로 변환해주었습니다.
실행 결과를 한번 볼까요 ?

첫번째 결과입니다. 그렇다면 두번째는?

음! 랜덤하게 잘 나옵니다!
그렇다면 우리의 오늘의 목표였던, 복권번호 생성을 해보러 가볼까요 ?


제발 좋은 복권 번호 주세요!

자. 랜덤한 번호를 생성하는것은 어느정도 이해했으니, 그렇다면 복권을 조금 생각해볼까요 ?

복권은 랜덤한 6자리의 추첨번호를 선택하고, 당첨으로는 번호 6개 +보너스 번호 1개를 사용합니다.

우선, 복권 양식에 맞추어 번호를 생성해봅시다!

자동, 5천원짜리로요 😎

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
	srand(static_cast<int>(time(NULL)));
    for (int k = 0; k < 5; k++) {
		for (int i = 0; i < 6; i++) {
			int num = rand() % 45 + 1;
			cout << num << ' ';
		}
		cout << endl;
	}
	return 0;
}

좋습니다. 코드는 이런식으로 작성하면 되겠군요!

결과를 한번 확인해볼까요 ?

랜덤하게, 6자리의 복권번호가 잘 생성되었습니다!

그런데,,, 좀 다르죠? 정렬이 안되어있습니다. 불편해 불편해!!!!
난 편하게 이쁘게 정리된걸로 보고싶은걸~

그렇다면, <vector> library를 사용해보자구요!

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	srand(static_cast<int>(time(NULL)));

	for (int k = 0; k < 5; k++) {
		vector<int> please(6, 0);
		for (int i = 0; i < 6; i++) {
			int num = rand() % 45 + 1;
			please[i]=num;
		}

		sort(please.begin(), please.end());//오름차순 정렬
		for (auto i : please) {
			cout << i << ' ';
		}
		please.clear();
		cout << endl;
	}

	return 0;
}

<vector>와 <algorithm>을 사용하여 번호를 담고, 손쉽게 정렬해주었습니다!
출력을 한번 보시죠.

이제야 좀 깔끔하게, 복권용지에 적혀있는 추첨번호처럼 번호들이 나왔습니다!

그렇지만... 한 가지 더. 바로 두번째 예시처럼 한 라인에 중복된 번호가 나올수 있다는 것이죠!

따라서, 중복된 번호가 있는지 확인도 필요합니다.


중복 번호 확인

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	srand(static_cast<int>(time(NULL)));

	for (int k = 0; k < 5; k++) {
		vector<int> please(6, 0);
		for (int i = 0; i < 6; i++) {
			int num;
			do { num = rand() % 45 + 1; } 
			while (find(please.begin(), please.end(), num)!=please.end());
			please[i] = num;
		}

		sort(please.begin(), please.end());//오름차순 정렬
		for (auto i : please) {
			cout << i << ' ';
		}
		please.clear();
		cout << endl;
	}

	return 0;
}

do while문을 이용하여, please vector에 해당 번호가 존재하는지 확인하고, 있다면 없는 번호를 뽑을때까지 반복하도록 하여 중복을 제거하였습니다!

중복 제거도 했겠다,,,,이제 해야할 것은 뭐다?

당 첨 번 호... 너 뭔데!!!!


당첨번호 생성

복권 추첨번호 생성까진 완료를 했으니.... 당첨번호 생성을 해야겠지요 ?
물론 현실의 저는 5천원도 귀한 가난한 대학생이기에 ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ
가끔씩 복권을 사지만..... 하지만.......
프로그램 돌리는 것으로 라도 만족할 수 있는거 아니겠어요 ?!!!!?

한 번 당첨될 때까지 복권 번호를 5묶음씩 생성하고 당첨번호를 생성하는 프로그램을 작성해봅시다!

자, 완전한 코드는 한눈에 보기 어려울 것 같으니 우선 당첨번호와 보너스 번호 생성부터 합시다.

int main() {
	srand(static_cast<int>(time(NULL)));

	vector<int> gotcha(6, 0);
	for (int i = 0; i < 6; i++) {
		int num = rand() % 45 + 1;
		do { num = rand() % 45 + 1; } while (find(gotcha.begin(), gotcha.end(), num) != gotcha.end());
		gotcha[i] = num;
	}
	sort(gotcha.begin(), gotcha.end());
	int bonus;
	do { bonus = rand() % 45 + 1; } while (find(gotcha.begin(), gotcha.end(), bonus) != gotcha.end());

	for (auto i : gotcha) {
		cout << i << ' ';
	}
	cout << "+ "<< bonus;

	return 0;

}

위의 과정부터 따라오신분은 이해하기 어렵지 않으시리라 생각합니다!
중복된 번호는 거르며 당첨번호를 만들고, 보너스 번호는 이미 당첨번호로 뽑은 번호들을 제외하고 만들기!
출력하면 다음과 같습니다.

좋습니다! 당첨번호와 보너스 번호 추첨까지도 마쳤습니다.

이젠 당첨번호와 추첨번호를 이용해 결과를 확인하는 함수를 작성하여 봅시다!


나.... 몇 등 당첨이니?

당첨기준부터 봅시다!

으흠... 오케오케. 그렇구만!

int compare(vector<int> gotcha, vector<int> please) {
	int count = 0;
	for (auto i : please) {
		if (find(gotcha.begin(), gotcha.end(), i) != gotcha.end()) {
			count++;
		}
	}
	return count;
}

우선 몇개의 번호가 당첨되었는지 확인하는 작업을 하였습니다.
이걸 어디로 return할 것이냐면~

int result(int count, int bonus, vector<int> please) {
	if (count < 4)
		return 5;
	if (count == 6)
		return 1;
	else if (count == 5) {
		if (find(please.begin(), please.end(), bonus) != please.end())
			return 2;
		else
			return 3;
	}
	return 4;
}

result 함수를 통해 등수를 return받아 결과값을 출력하도록 하겠습니다!
재료는 얼추 준비가 다 되었습니다.
자 그러면 코드를 좀 정리하여 5줄 복권을 1회 생성하고, 그 회차의 당첨번호를 생성하고, 결과를 받아봅시다!


제발 1등 당첨 주세요!😭😭😭

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

int compare(vector<int> gotcha, vector<int> please);
int result(int count, int bonus, vector<int> please);
void print_gotcha(vector<int> gotcha, int bonus);
void print_please(vector<int> please);
void generate_line(vector<int>& want);

int main() {
	srand(static_cast<int>(time(NULL)));
	vector<vector<int>>paper(5,vector<int>(6,0));
	vector<int> please(6, 0);
	vector<int> gotcha(6, 0);
    //복권 만들기, 복권 출력
	for (int i = 0; i < 5; i++) {
		generate_line(please);
		print_please(please);
		paper[i]=(please);
		please.assign(6,0);
	}
    //당첨번호 뽑기
	generate_line(gotcha);
    //보너스 번호 뽑기
	int bonus;
	do { bonus = rand() % 45 + 1; } while (find(gotcha.begin(), gotcha.end(), bonus) != gotcha.end());
	//당첨번호 출력
	print_gotcha(gotcha, bonus);
	cout << endl;

	int answer = 0;
    //당첨 확인
	for (int i = 0; i < 5; i++) {
		switch (answer = result(compare(gotcha, paper[i]), bonus, paper[i])){
			case 1:
				cout << i + 1 << "번째 줄 : " << "1등 100억 미쳤따" << endl;
                break;
			case 2:
				cout << i + 1 << "번째 줄 : " << "2등 5천만원 미쳤따" << endl;
                break;
			case 3:
				cout << i + 1 << "번째 줄 : " << "3등 5백만원 미쳤따" << endl;
                break;
			case 4:
				cout << i + 1 << "번째 줄 : " << "4등 5만원 마싯따" << endl;
                break;
			case 5:
				cout << i + 1 << "번째 줄 : " << "5등,,,쩦,,," << endl;
                break;
		}
	}

	return 0;
}


int compare(vector<int> gotcha, vector<int> please) {
	int count = 0;
	for (auto i : please) {
		if (find(gotcha.begin(), gotcha.end(), i) != gotcha.end()) {
			count++;
		}
	}
	return count;
}

int result(int count, int bonus, vector<int> please) {
	if (count < 4)
		return 5;
	if (count == 6)
		return 1;
	else if (count == 5) {
		if (find(please.begin(), please.end(), bonus) != please.end())
			return 2;
		else
			return 3;
	}
	return 4;
}

void print_gotcha(vector<int> gotcha, int bonus) {
	cout << "당첨번호 : ";
	for (auto i : gotcha) {
		cout << i << ' ';
	}
	cout << "+ " << bonus << endl;
}

void print_please(vector<int> please) {
	cout << "추첨번호 : ";
	for (auto i : please) {
		cout << i << ' ';
	}
	cout << endl;
}

void generate_line(vector<int>& want) {
	for (int i = 0; i < 6; i++) {
		int num = rand() % 45 + 1;
		do { num = rand() % 45 + 1; } while (find(want.begin(), want.end(), num) != want.end());
		want[i] = num;
	}
	sort(want.begin(), want.end());
}

총 코드는 위와 같습니다! 조금 기네요..
간단하게 prototype으로 선언된 함수들을 설명하면

  1. compare: 당첨번호와 추첨번호를 비교해줍니다.
  2. result : 몇 등 당첨인지 알려줍니다.
  3. print_gotcha : 생성된 당첨번호를 출력합니다.
  4. print_please : 생성된 추첨번호를 출력합니다.
  5. generate_line : 중복되지 않는 번호 6개를 만들어 줍니다.

main문에선 2차원벡터인 paper를 사용하여 5줄을 갖는 복권을 만들어 주었습니다!
그리고선 복권을 구매하고, 당첨번호와 보너스 번호를 뽑고, 당첨을 확인하는 과정을 코드로 작성해주었습니다.
당첨확인의 경우 switch문을 활용해 보기 쉽게 만들어 보았습니다.

자...진짜 거의 다 만들었습니다.

일단 한 번 결과를 봐야겠지요?

실화입니까?

내가 만든 프로그램이면 4등이라도 당첨 시켜줘야 할 거 아니야....

역시나, 꽝이었습니다!


"끝까지 가면 내가 당첨돼🤬😡👿"

이 포스팅의 목적.

나. 당첨될거야.

1등 2등 3등 4등 다 할거야.😣😣😣

만만한 4등부터 해 볼까요?

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

int compare(vector<int> gotcha, vector<int> please);
int result(int count, int bonus, vector<int> please);
void print_gotcha(vector<int> gotcha, int bonus);
void print_please(vector<int> please);
void generate_line(vector<int>& want);

int main() {
	srand(static_cast<int>(time(NULL)));
	bool flag = false;
	int count = 1;
	while (!flag) {
		vector<vector<int>>paper(5, vector<int>(6, 0));
		vector<int> please(6, 0);
		vector<int> gotcha(6, 0);
		for (int i = 0; i < 5; i++) {
			generate_line(please);
			print_please(please);
			paper[i] = (please);
			please.assign(6, 0);
		}
		generate_line(gotcha);
		int bonus;
		do { bonus = rand() % 45 + 1; } while (find(gotcha.begin(), gotcha.end(), bonus) != gotcha.end());

		print_gotcha(gotcha, bonus);
		cout << endl;

		int answer = 0;
		for (int i = 0; i < 5; i++) {
			switch (answer = result(compare(gotcha, paper[i]), bonus, paper[i])) {
			case 1:
				cout << i + 1 << "번째 줄 : " << "1등 100억 미쳤따" << endl;
				break;
			case 2:
				cout << i + 1 << "번째 줄 : " << "2등 5천만원 미쳤따" << endl;
				break;
			case 3:
				cout << i + 1 << "번째 줄 : " << "3등 5백만원 미쳤따" << endl;
				break;
			case 4:
				cout << i + 1 << "번째 줄 : " << "4등 5만원 마싯따" << endl;
				flag = true;
				break;
			case 5:
				cout << i + 1 << "번째 줄 : " << "5등,,,쩦,,," << endl;
				break;
			}
		}
		cout << endl;
		count++;
	}
	cout << count << "회차만에 당첨 성공!";

	return 0;
}


int compare(vector<int> gotcha, vector<int> please) {
	int count = 0;
	for (auto i : please) {
		if (find(gotcha.begin(), gotcha.end(), i) != gotcha.end()) {
			count++;
		}
	}
	return count;
}

int result(int count, int bonus, vector<int> please) {
	if (count < 4)
		return 5;
	if (count == 6)
		return 1;
	else if (count == 5) {
		if (find(please.begin(), please.end(), bonus) != please.end())
			return 2;
		else
			return 3;
	}
	return 4;
}

void print_gotcha(vector<int> gotcha, int bonus) {
	cout << "당첨번호 : ";
	for (auto i : gotcha) {
		cout << i << ' ';
	}
	cout << "+ " << bonus << endl;
}

void print_please(vector<int> please) {
	cout << "추첨번호 : ";
	for (auto i : please) {
		cout << i << ' ';
	}
	cout << endl;
}

void generate_line(vector<int>& want) {
	for (int i = 0; i < 6; i++) {
		int num = rand() % 45 + 1;
		do { num = rand() % 45 + 1; } while (find(want.begin(), want.end(), num) != want.end());
		want[i] = num;
	}
	sort(want.begin(), want.end());
}

간단하게 flag를 이용해보았습니다. 당첨되면 중지하도록 말이죠!
그리고 count 변수를 통해 몇 회차만에 당첨되는지도 알 수 있도록 해봤습니다.
자. 두근두근. 돌릴게욘~~

실화입니까? 84회차 만에 당첨되었습니다.
작성하다가 든 생각인데 혹시나 84회차 안에 다른 등수에 당첨된것이 있는게 아닐까? 하고 생각이 들어 확인하였지만 역시나... 당첨따위 되지 않았습니다.

그럼에도 불구하고 궁금한것이죠.
예를들어 내가 1등에 당첨될때까지 다른 등수는 몇번이나 당첨될 수 있을것인가, 돈은 얼마나 들까 이런것들이요.

이런 고민을 반영하여, 다시 수정해봅시다!


쟈드가자~😎

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

int compare(vector<int> gotcha, vector<int> please);
int result(int count, int bonus, vector<int> please);
void print_gotcha(vector<int> gotcha, int bonus);
void print_please(vector<int> please);
void generate_line(vector<int>& want);

int main() {
	srand(static_cast<int>(time(NULL)));
	bool flag = false;
	long long go = 1;
	const long long factor = 5000;
	int goals[4] = { 0 };
	while (!flag) {
		vector<vector<int>>paper(5, vector<int>(6, 0));
		vector<int> please(6, 0);
		vector<int> gotcha(6, 0);
		for (int i = 0; i < 5; i++) {
			generate_line(please);
			print_please(please);
			paper[i] = (please);
			please.assign(6, 0);
		}
		generate_line(gotcha);
		int bonus;
		do { bonus = rand() % 45 + 1; } while (find(gotcha.begin(), gotcha.end(), bonus) != gotcha.end());

		print_gotcha(gotcha, bonus);
		cout << endl;


		for (int i = 0; i < 5; i++) {
			int answer = result(compare(gotcha, paper[i]), bonus, paper[i]);
			switch (answer) {
			case 1:
				cout << i + 1 << "번째 줄 : " << "1등 100억 미쳤따" << endl;
				goals[0]++;
				
				break;
			case 2:
				cout << i + 1 << "번째 줄 : " << "2등 5천만원 미쳤따" << endl;
				goals[1]++;
				break;
			case 3:
				cout << i + 1 << "번째 줄 : " << "3등 5백만원 미쳤따" << endl;
				goals[2]++;
				break;
			case 4:
				cout << i + 1 << "번째 줄 : " << "4등 5만원 마싯따" << endl;
				goals[3]++;
				flag = true;
				break;
			case 5:
				cout << i + 1 << "번째 줄 : " << "5등,,,쩦,,," << endl;
				break;
			}
		}
		cout << endl;
		go++;
	}

	cout << go << "회차만에 당첨 성공!" << endl;
	cout << "소비된 금액은 : " << go * factor << endl;
	cout << "당신의 누적 당첨 횟수는 아래와 같습니다." << endl;
	for (int q = 0; q < 4; q++) {
		cout << q + 1 << "등 당첨 횟수는 : " << goals[q] << "\n";
	}


	return 0;
}


int compare(vector<int> gotcha, vector<int> please) {
	int count = 0;
	for (auto i : please) {
		if (find(gotcha.begin(), gotcha.end(), i) != gotcha.end()) {
			count++;
		}
	}
	return count;
}

int result(int count, int bonus, vector<int> please) {
	if (count < 4)
		return 5;
	if (count == 6)
		return 1;
	else if (count == 5) {
		if (find(please.begin(), please.end(), bonus) != please.end())
			return 2;
		else
			return 3;
	}
	return 4;
}

void print_gotcha(vector<int> gotcha, int bonus) {
	cout << "당첨번호 : ";
	for (auto i : gotcha) {
		cout << i << ' ';
	}
	cout << "+ " << bonus << endl;
}

void print_please(vector<int> please) {
	cout << "추첨번호 : ";
	for (auto i : please) {
		cout << i << ' ';
	}
	cout << endl;
}

void generate_line(vector<int>& want) {
	for (int i = 0; i < 6; i++) {
		int num = rand() % 45 + 1;
		do { num = rand() % 45 + 1; } while (find(want.begin(), want.end(), num) != want.end());
		want[i] = num;
	}
	sort(want.begin(), want.end());
}

저는 미리 제 코드를 돌려보았는데요, 패기롭게 1등 당첨을 노리고 코드를 실행하였다가
끝나지 않는 무수한 출력을 보고 그만 경악하고 말았습니다.😵😵😵 (두려워요)

잡다한 출력은 제거하고 결과값만 출력할 수 있게 해봅시다!


#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

int compare(vector<int> gotcha, vector<int> please);
int result(int count, int bonus, vector<int> please);
void print_gotcha(vector<int> gotcha, int bonus);
void print_please(vector<int> please);
void generate_line(vector<int>& want);

int main() {
	srand(static_cast<int>(time(NULL)));
	bool flag = false;
	long long go = 1;
	const long long factor = 5000;
	int goals[4] = { 0 };
	while (!flag) {
		vector<vector<int>>paper(5, vector<int>(6, 0));
		vector<int> please(6, 0);
		vector<int> gotcha(6, 0);
		for (int i = 0; i < 5; i++) {
			generate_line(please);
			paper[i] = (please);
			please.assign(6, 0);
		}
		generate_line(gotcha);
		int bonus;
		do { bonus = rand() % 45 + 1; } while (find(gotcha.begin(), gotcha.end(), bonus) != gotcha.end());

		for (int i = 0; i < 5; i++) {
			int answer = result(compare(gotcha, paper[i]), bonus, paper[i]);
			if (answer == 1) {
				goals[0]++;
			}
			else if (answer == 2) {
				goals[1]++;
			}
			else if (answer == 3) {
				goals[2]++;
			}
			else if (answer == 4) {
				goals[3]++;
				flag = true;
			}
		}
		go++; 
	}

	cout << go << "회차만에 당첨 성공!" << endl;
	cout << "소비된 금액은 : " << go * factor << endl;
	cout << "당신의 누적 당첨 횟수는 아래와 같습니다." << endl;
	for (int q = 0; q < 4; q++) {
		cout << q + 1 << "등 당첨 횟수는 : " << goals[q] << "\n";
	}

	return 0;
}


int compare(vector<int> gotcha, vector<int> please) {
	int count = 0;
	for (auto i : please) {
		if (find(gotcha.begin(), gotcha.end(), i) != gotcha.end()) {
			count++;
		}
	}
	return count;
}

int result(int count, int bonus, vector<int> please) {
	if (count < 4)
		return 5;
	if (count == 6)
		return 1;
	else if (count == 5) {
		if (find(please.begin(), please.end(), bonus) != please.end())
			return 2;
		else
			return 3;
	}
	return 4;
}

void print_gotcha(vector<int> gotcha, int bonus) {
	cout << "당첨번호 : ";
	for (auto i : gotcha) {
		cout << i << ' ';
	}
	cout << "+ " << bonus << endl;
}

void print_please(vector<int> please) {
	cout << "추첨번호 : ";
	for (auto i : please) {
		cout << i << ' ';
	}
	cout << endl;
}

void generate_line(vector<int>& want) {
	for (int i = 0; i < 6; i++) {
		int num = rand() % 45 + 1;
		do { num = rand() % 45 + 1; } while (find(want.begin(), want.end(), num) != want.end());
		want[i] = num;
	}
	sort(want.begin(), want.end());
}

이 코드를 이용하여 원하는 당첨등수에 flag = true; 를 옮겨주면 됩니다!

자. 4등부터 돌려볼게용~~

??? 나 운이 많이 없을지도,,,,

다시한번 ?

그래도 이정도면 양호합니다. 정말 걱정되는건 1등을 위한 연산입니다,,,


3등 도전 가겠습니다!

진실로, 로또는 쉽지 않은 도전인것같습니다.... 그래도 두번씩은 돌려봐야겠죠?

여러분들은 이런거 하지 마십쇼......


2등은 어떨까요 ?

별 거 없네요. 한 24억 6천만원정도 사용하니 2등에 당첨되었습니다!

2등까지는, 한 번 더 시도해볼만 하다고 생각합니다!

오호. 이번엔 15억 9800만원밖에 안들었습니다.


실제 로또 확률은 어떨까?

이쯤에서 실제 로또확률을 한 번 보고 가겠습니다.

네. 그렇다고 합니다.


대망의 로또 1등 결과입니다!

앗!! 완벽한 연산을 한 결과값을 골드로저에게 도둑맞고 말았습니다!!!
전설의 섬 라프텔에 두고왔다고 하니 확인 부탁드려요~❤🧡💛💚💙💜🤎🖤💖


🧧오늘의 결론🧧

가끔씩 현금이 생기면 복권을 한 장 사서 기대감에 부풀어 한 주를 보내고는 했습니다.

여러분, 그거 알고계신가요 ?

사실 원하는 것을 이루는 것보다 이루기까지의 순간이 더 많은량의 도파민이 분비된다는 사실을요.

인간의 뇌는 불확실한 상황에서의 도파민이 더 분비된다고 합니다!

그렇기에 동기부여가 되고 이루기 위해 달려간다고 합니다.

참 신기한 것 같아요.

저 또한 이번 포스팅을 작성하면서 "헤헹 나 정도면 100만번회차때는 당첨 되있겠지?" 라고 생각했습니다.

하지만 역시 인생은 호락호락하지 않은것 같습니다.(이 뭔 개소리야?)

하지만 상남자 특징) 이런 확률따위에 굴복하지 않음. 다음에도 복권을 살 것.

길쭉한 포스팅을 봐주셔서 정말로 감사드립니다!

profile
그코코 입니다.

0개의 댓글