Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions player/BigFun/Game/game.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#include <iostream>
#include <string>
#include <vector>
using namespace std;

typedef struct Special_Words
{
int spcial_num;
string words;
} Context;

vector <Context> Ctx;

void CtxInit()
{
Context First = {3, "Cute"};
Ctx.push_back(First);

Context Second = {5, "Da"};
Ctx.push_back(Second);

Context Third = {7, "Evil"};
Ctx.push_back(Third);
}

string Game(int data)
{
string result;
int temp = data;

do
{
int first_num = temp % 10;
if (first_num == Ctx.begin()->spcial_num)
{
result = Ctx.begin()->words;
return result;
}

temp = temp / 10;
} while (temp != 0);

for (vector <Context>::iterator iter = Ctx.begin();
iter != Ctx.end(); ++iter)
{
if (0 == data % iter->spcial_num)
{
result += iter->words;
}
}

return result;
}
56 changes: 56 additions & 0 deletions player/BigFun/Game/test.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#include <assert.h>
#include <iostream>
#include <string>
using namespace std;

extern void CtxInit();
extern string Game(const int data);

void Test_Rule_1()
{
assert("Cute" == Game(3));
assert("Cute" == Game(66));

assert("Da" == Game(5));
assert("Da" == Game(200));

assert("Evil" == Game(7));
assert("Evil" == Game(707));
}

void Test_Rule_2()
{
assert("CuteDa" == Game(15));
assert("CuteDa" == Game(45));

assert("DaEvil" == Game(70));
assert("DaEvil" == Game(140));

assert("CuteEvil" == Game(21));
assert("CuteEvil" == Game(42));
}

void Test_Rule_3()
{
assert("CuteDaEvil" == Game(105));
assert("CuteDaEvil" == Game(210));
}

void Test_Rule_4()
{
assert("Cute" == Game(35));
assert("Cute" == Game(53));
assert("Cute" == Game(375));
}

void main()
{
CtxInit();

Test_Rule_1();
Test_Rule_2();
Test_Rule_3();
Test_Rule_4();

getchar();
}