#include <iostream>

#include <cstdlib>

#include <ctime>



using namespace std;



void A(int Aa,int Ab,int Ac,int Ad, int Ae, int Af);

void B(int Ba,int Bb,int Bc,int Bd, int Be, int Bf);

void C(int Ca,int Cb,int Cc,int Cd, int Ce, int Cf);





void main()

{

    cout << "『「威力彩！」』\n\n";

	int Aa=0,Ab=0,Ac=0,Ad=0,Ae=0,Af=0,Ba=0,Bb=0,Bc=0,Bd=0,Be=0,Bf=0,Ca=0,Cb=0,Cc=0,Cd=0,Ce=0,Cf=0;

	srand(time(NULL));

	do{

	A(Aa, Ab, Ac, Ad, Ae, Af);

	B(Ba, Bb, Bc, Bd, Be, Bf);

	C(Ca, Cb, Cc, Cd, Ce, Cf);

	}while(Aa==Ba==Ca && Ab==Bb==Cb && Ac==Bc==Cc && Ad==Bd==Cd && Ae==Be==Ce && Af==Bf==Cf);

	

	cout << "「本期威力彩預估號碼」\n\n" 

		 << "第一區" << "\t" "第一個號碼" << "\t"  << "第二個號碼" << "\t"  << "第三個號碼" << "\t"

		 << "第四個號碼" << "\t"  << "第五個號碼"

		 << "\n\n\t" <<Aa << "\t" << Ab << "\t" << Ac << "\t" << Ad << "\t" << Ae << "\t\n\n第二區\t" << Af

		 << endl  << endl;

	system("PAUSE");

}



void A(int Aa,int Ab,int Ac,int Ad, int Ae, int Af)

{

	int A[38]={0};

	for(int i=0;i<=37;i++)

		A[i]=i+1;

	int num00, num01, temp00;

	for(int k=0;k<=666;k++)

	{

		num00 = 1+rand() % (38-0+1);

		num01 = 1+rand() % (38-0+1);

		temp00 = A[num00];

		A[num00] = A[num01];

		A[num01] = temp00;

	}

	int B[8]={0};

	for(int i=0;i<=7;i++)

		B[i]=i+1;

	int num02, num03, temp01;

	for(int k=0;k<=50;k++)

	{

		num02 = 1+rand() % (8-0+1);

		num03 = 1+rand() % (8-0+1);

		temp01 = B[num02];

		B[num02] = B[num03];

		B[num03] = temp01;

	}

	int AA,BB,CC,DD,EE,FF;

	AA = B[0];

	BB = B[1];

	CC = B[2];

	DD = B[3];

	EE = B[4];

	FF = B[5];

	Aa = A[AA];

	Ab = A[BB];

	Ac = A[CC];

	Ad = A[DD];

	Ae = A[EE];

	Af = A[FF];

}



void B(int Ba,int Bb,int Bc,int Bd, int Be, int Bf)

{

	int A[38]={0};

	for(int i=0;i<=37;i++)

		A[i]=i+1;

	int num00, num01, temp00;

	for(int k=0;k<=666;k++)

	{

		num00 = 1+rand() % (38-0+1);

		num01 = 1+rand() % (38-0+1);

		temp00 = A[num00];

		A[num00] = A[num01];

		A[num01] = temp00;

	}

	int B[8]={0};

	for(int i=0;i<=7;i++)

		B[i]=i+1;

	int num02, num03, temp01;

	for(int k=0;k<=50;k++)

	{

		num02 = 1+rand() % (8-0+1);

		num03 = 1+rand() % (8-0+1);

		temp01 = B[num02];

		B[num02] = B[num03];

		B[num03] = temp01;

	}

	int AA,BB,CC,DD,EE,FF;

	AA = B[0];

	BB = B[1];

	CC = B[2];

	DD = B[3];

	EE = B[4];

	FF = B[5];

	Ba = A[AA];

	Bb = A[BB];

	Bc = A[CC];

	Bd = A[DD];

	Be = A[EE];

	Bf = A[FF];

}



void C(int Ca,int Cb,int Cc,int Cd, int Ce, int Cf)

{

	int A[38]={0};

	for(int i=0;i<=37;i++)

		A[i]=i+1;

	int num00, num01, temp00;

	for(int k=0;k<=666;k++)

	{

		num00 = 1+rand() % (38-0+1);

		num01 = 1+rand() % (38-0+1);

		temp00 = A[num00];

		A[num00] = A[num01];

		A[num01] = temp00;

	}

	int B[8]={0};

	for(int i=0;i<=7;i++)

		B[i]=i+1;

	int num02, num03, temp01;

	for(int k=0;k<=50;k++)

	{

		num02 = 1+rand() % (8-0+1);

		num03 = 1+rand() % (8-0+1);

		temp01 = B[num02];

		B[num02] = B[num03];

		B[num03] = temp01;

	}

	int AA,BB,CC,DD,EE,FF;

	AA = B[0];

	BB = B[1];

	CC = B[2];

	DD = B[3];

	EE = B[4];

	FF = B[5];

	Ca = A[AA];

	Cb = A[BB];

	Cc = A[CC];

	Cd = A[DD];

	Ce = A[EE];

	Cf = A[FF];

}