diff --git a/.gitignore b/.gitignore index 906e299..39c6c06 100644 --- a/.gitignore +++ b/.gitignore @@ -126,3 +126,8 @@ Alogrithm/TestResults/73fe2684-c87f-4fed-a76e-55defe2fae80/林_MI-1 2021-01-18 1 Alogrithm/TestResults/753261be-3596-4999-b094-34801e5a2f78/林_MI-1 2021-01-18 19_16_10.coverage Alogrithm/TestResults/96d3c488-3cf4-4755-80bf-4831762aece2/林_MI-1 2021-01-18 19_11_02.coverage Alogrithm/TestResults/e6445563-c87d-4be6-80a1-aa12071ee3ad/林_MI-1 2021-01-18 19_07_09.coverage +Alogrithm/Alogrithm/Debug/11_CanWinNim.obj +Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/8c1a78e28f38071c/11_CANWINNIM.ipch +Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/80ee02d8a95bc92a/11_CANWINNIM.ipch +.vs/tasks.vs.json +Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/95ff4e0647685c25/11_CANWINNIM.ipch diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo index 8259820..377fb96 100644 Binary files a/Alogrithm/.vs/Alogrithm/v16/.suo and b/Alogrithm/.vs/Alogrithm/v16/.suo differ diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj b/Alogrithm/Alogrithm/Alogrithm.vcxproj index 28181ae..ca35415 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj @@ -141,6 +141,7 @@ + @@ -154,6 +155,7 @@ + @@ -166,6 +168,7 @@ + diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters index 4857c43..072a8a5 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters @@ -57,6 +57,9 @@ 源文件\src + + 源文件\src + @@ -86,8 +89,11 @@ 头文件\include + + 头文件\include + - 头文件 + 头文件\include @@ -121,5 +127,8 @@ 资源文件\config + + 资源文件\config + \ No newline at end of file diff --git a/Alogrithm/Alogrithm/config/11_CanWinNim.ini b/Alogrithm/Alogrithm/config/11_CanWinNim.ini new file mode 100644 index 0000000..6abd1da --- /dev/null +++ b/Alogrithm/Alogrithm/config/11_CanWinNim.ini @@ -0,0 +1,21 @@ +[Test1] +input=4 +output=0 +[Test2] +input=3 +output=1 +[Test3] +input=5 +output=1 +[Test4] +input=8 +output=0 +[Test5] +input=9 +output=1 +[Test6] +input=12 +output=0 +[Test7] +input=2147483647 +output=1 \ No newline at end of file diff --git a/Alogrithm/Alogrithm/include/11_CanWinNim.h b/Alogrithm/Alogrithm/include/11_CanWinNim.h new file mode 100644 index 0000000..3d1da06 --- /dev/null +++ b/Alogrithm/Alogrithm/include/11_CanWinNim.h @@ -0,0 +1,4 @@ +#pragma once +//˼·: +//ƵnΪ4ıʱ +bool CanWinNim(int n); \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/11_CanWinNim.cpp b/Alogrithm/Alogrithm/src/11_CanWinNim.cpp new file mode 100644 index 0000000..bf39f63 --- /dev/null +++ b/Alogrithm/Alogrithm/src/11_CanWinNim.cpp @@ -0,0 +1,8 @@ +#include "../include/11_CanWinNim.h" + +bool CanWinNim(int n) { + if (n % 4 != 0) { + return true; + } + return false; +} \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/main.cpp b/Alogrithm/Alogrithm/src/main.cpp index 1427772..d70141a 100644 --- a/Alogrithm/Alogrithm/src/main.cpp +++ b/Alogrithm/Alogrithm/src/main.cpp @@ -1,8 +1,7 @@ - - - +#include +#include "../include/11_CanWinNim.h" int main() { - + printf("%d\n",CanWinNim(6)); return 0; } diff --git a/Alogrithm/UnitTest/UnitTest.cpp b/Alogrithm/UnitTest/UnitTest.cpp index 96dcdb0..ace0045 100644 --- a/Alogrithm/UnitTest/UnitTest.cpp +++ b/Alogrithm/UnitTest/UnitTest.cpp @@ -12,6 +12,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; #define FileName_8 "../Alogrithm/config/8_HammingWeight.ini" #define FileName_9 "../Alogrithm/config/9_AddBinary.ini" #define FileName_10 "../Alogrithm/config/10_BinaryTreePaths.ini" +#define FileName_11 "../Alogrithm/config/11_CanWinNim.ini" namespace UnitTest @@ -202,4 +203,19 @@ namespace UnitTest } } }; + TEST_CLASS(UnitTest_11) + { + TEST_METHOD(TestMethode1) + { + char Section_Name[100][10] = { 0 }; + int Section_Count = CalcCount(100, Section_Name, FileName_11); + CString input,output; + for (int i = 0; i < Section_Count; i++) { + GetPrivateProfileString(Section_Name[i], "input", " ", input.GetBuffer(20), 20, FileName_11); + GetPrivateProfileString(Section_Name[i], "output", " ", output.GetBuffer(20), 20, FileName_11); + bool nReal = CanWinNim(_ttoi(input)); + Assert::AreEqual(nReal, CstrToBool(output)); + } + } + }; } diff --git a/Alogrithm/UnitTest/UnitTest.vcxproj b/Alogrithm/UnitTest/UnitTest.vcxproj index e995603..16ac8ec 100644 --- a/Alogrithm/UnitTest/UnitTest.vcxproj +++ b/Alogrithm/UnitTest/UnitTest.vcxproj @@ -103,7 +103,7 @@ Windows $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) DebugFull - ../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;../Alogrithm/Debug/5_MinDepth.obj;../Alogrithm/Debug/6_ContainsDuplicate.obj;../Alogrithm/Debug/7_MaxDepth.obj;../Alogrithm/Debug/8_HammingWeight.obj;../Alogrithm/Debug/9_AddBinary.obj;../Alogrithm/Debug/10_BinaryTreePaths.obj;%(AdditionalDependencies) + ../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;../Alogrithm/Debug/5_MinDepth.obj;../Alogrithm/Debug/6_ContainsDuplicate.obj;../Alogrithm/Debug/7_MaxDepth.obj;../Alogrithm/Debug/8_HammingWeight.obj;../Alogrithm/Debug/9_AddBinary.obj;../Alogrithm/Debug/10_BinaryTreePaths.obj;../Alogrithm/Debug/11_CanWinNim.obj;%(AdditionalDependencies) diff --git a/Alogrithm/UnitTest/pch.h b/Alogrithm/UnitTest/pch.h index 017ccf5..5c196b5 100644 --- a/Alogrithm/UnitTest/pch.h +++ b/Alogrithm/UnitTest/pch.h @@ -23,6 +23,7 @@ #include"../Alogrithm/include/8_HammingWeight.h" #include"../Alogrithm/include/9_AddBinary.h" #include"../Alogrithm/include/10_BinaryTreePaths.h" +#include"../Alogrithm/include/11_CanWinNim.h" int CalcCount(int n, char(*str)[10],const char *FileName);