| @@ -19,3 +19,6 @@ | |||||
| *.txt | *.txt | ||||
| *.ilk | *.ilk | ||||
| *.exp | *.exp | ||||
| *.db-wal | |||||
| *.db-shm | |||||
| *.opendb | |||||
| @@ -141,15 +141,18 @@ | |||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClInclude Include="include\1_ContainsNearbyDuplicate.h" /> | <ClInclude Include="include\1_ContainsNearbyDuplicate.h" /> | ||||
| <ClInclude Include="include\2_ExcelSheetColumnTitle.h" /> | <ClInclude Include="include\2_ExcelSheetColumnTitle.h" /> | ||||
| <ClInclude Include="include\3_IsUgly.h" /> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" /> | <ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" /> | ||||
| <ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" /> | <ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" /> | ||||
| <ClCompile Include="src\3_IsUgly.cpp" /> | |||||
| <ClCompile Include="src\main.cpp" /> | <ClCompile Include="src\main.cpp" /> | ||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <None Include="config\1_ContainsNearbyDuplicate.ini" /> | <None Include="config\1_ContainsNearbyDuplicate.ini" /> | ||||
| <None Include="config\2_ExcelSheetColumnTiTle.ini" /> | <None Include="config\2_ExcelSheetColumnTiTle.ini" /> | ||||
| <None Include="config\3_IsUgly.ini" /> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||
| <ImportGroup Label="ExtensionTargets"> | <ImportGroup Label="ExtensionTargets"> | ||||
| @@ -21,6 +21,9 @@ | |||||
| <ClInclude Include="include\2_ExcelSheetColumnTitle.h"> | <ClInclude Include="include\2_ExcelSheetColumnTitle.h"> | ||||
| <Filter>头文件</Filter> | <Filter>头文件</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="include\3_IsUgly.h"> | |||||
| <Filter>头文件</Filter> | |||||
| </ClInclude> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClCompile Include="src\1_ContainsNearbyDuplicate.cpp"> | <ClCompile Include="src\1_ContainsNearbyDuplicate.cpp"> | ||||
| @@ -32,6 +35,9 @@ | |||||
| <ClCompile Include="src\2_ExcelSheetColumnTitle.cpp"> | <ClCompile Include="src\2_ExcelSheetColumnTitle.cpp"> | ||||
| <Filter>源文件</Filter> | <Filter>源文件</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="src\3_IsUgly.cpp"> | |||||
| <Filter>源文件</Filter> | |||||
| </ClCompile> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <None Include="config\1_ContainsNearbyDuplicate.ini"> | <None Include="config\1_ContainsNearbyDuplicate.ini"> | ||||
| @@ -40,5 +46,8 @@ | |||||
| <None Include="config\2_ExcelSheetColumnTiTle.ini"> | <None Include="config\2_ExcelSheetColumnTiTle.ini"> | ||||
| <Filter>资源文件</Filter> | <Filter>资源文件</Filter> | ||||
| </None> | </None> | ||||
| <None Include="config\3_IsUgly.ini"> | |||||
| <Filter>资源文件</Filter> | |||||
| </None> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| </Project> | </Project> | ||||
| @@ -0,0 +1,30 @@ | |||||
| [Test1] | |||||
| Na=6 | |||||
| nExpect=1 | |||||
| [Test2] | |||||
| Na=3 | |||||
| nExpect=1 | |||||
| [Test3] | |||||
| Na=14 | |||||
| nExpect=0 | |||||
| [Test4] | |||||
| Na=15 | |||||
| nExpect=1 | |||||
| [Test5] | |||||
| Na=20 | |||||
| nExpect=1 | |||||
| [Test6] | |||||
| Na=-1 | |||||
| nExpect=0 | |||||
| [Test7] | |||||
| Na=2 | |||||
| nExpect=1 | |||||
| [Test8] | |||||
| Na=1 | |||||
| nExpect=1 | |||||
| [Test9] | |||||
| Na=2019 | |||||
| nExpect=0 | |||||
| [Test10] | |||||
| Na=2147483647 | |||||
| nExpect=0 | |||||
| @@ -0,0 +1,3 @@ | |||||
| #pragma once | |||||
| #include <stdio.h> | |||||
| bool IsUgly(int num); | |||||
| @@ -0,0 +1,28 @@ | |||||
| #include "../include/3_IsUgly.h " | |||||
| //题目:判断一个数是否为丑数(能被2 3 5整除的数),能返回true,不能返回false | |||||
| //思路:1.对入参循环判断%2、%3、%5是否为0,是则除相应的数,否则跳出循环, | |||||
| // 2.对num判断,为1,则说明能被2、3、5除尽,是丑数,否则不是。 | |||||
| bool IsUgly(int num) | |||||
| { | |||||
| if (num <= 0){ //入参判断,如果小于等于0直接返回false | |||||
| return false; | |||||
| } | |||||
| while (1) { //对num循环判断并做相应的运算,直到三个条件都不满足退出循环 | |||||
| if (num % 2 == 0) { | |||||
| num = num / 2; | |||||
| } | |||||
| else if (num % 3 == 0) { | |||||
| num = num / 3; | |||||
| } | |||||
| else if (num % 5 == 0) { | |||||
| num = num / 5; | |||||
| } | |||||
| else { | |||||
| break; | |||||
| } | |||||
| } | |||||
| if (num == 1) { //对最后的num判断,如果为1则说明能被除尽,是丑数;否则不是丑数返回false | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| @@ -16,6 +16,7 @@ | |||||
| #include"../code/include/1_ContainsNearbyDuplicate.h" | #include"../code/include/1_ContainsNearbyDuplicate.h" | ||||
| #include"../code/include/2_ExcelSheetColumnTitle.h" | #include"../code/include/2_ExcelSheetColumnTitle.h" | ||||
| #include"../code/include/3_IsUgly.h" | |||||
| int CalcCount(int n, char(*str)[10], const char* FileName); | int CalcCount(int n, char(*str)[10], const char* FileName); | ||||
| @@ -4,6 +4,7 @@ | |||||
| using namespace Microsoft::VisualStudio::CppUnitTestFramework; | using namespace Microsoft::VisualStudio::CppUnitTestFramework; | ||||
| #define FileName_1 "../code/config/1_ContainsNearbyDuplicate.ini" | #define FileName_1 "../code/config/1_ContainsNearbyDuplicate.ini" | ||||
| #define FileName_2 "../code/config/2_ExcelSheetColumnTiTle.ini" | #define FileName_2 "../code/config/2_ExcelSheetColumnTiTle.ini" | ||||
| #define FileName_3 "../code/config/3_IsUgly.ini" | |||||
| namespace test1 | namespace test1 | ||||
| @@ -46,4 +47,22 @@ namespace test2 | |||||
| } | } | ||||
| }; | }; | ||||
| } | } | ||||
| namespace test3 | |||||
| { | |||||
| TEST_CLASS(UnitTest_1) | |||||
| { | |||||
| TEST_METHOD(TestMethode1) | |||||
| { | |||||
| char Section_Name[100][10] = { 0 }; | |||||
| int Section_Count = CalcCount(100, Section_Name, FileName_3); | |||||
| CString Na, nExpect; | |||||
| for (int i = 0; i < Section_Count; i++) { | |||||
| GetPrivateProfileString(Section_Name[i], "Na", " ", Na.GetBuffer(20), 20, FileName_3); | |||||
| GetPrivateProfileString(Section_Name[i], "nExpect", " ", nExpect.GetBuffer(20), 20, FileName_3); | |||||
| bool nReal = IsUgly(_ttoi(Na)); | |||||
| Assert::AreEqual(nReal, CstrToBool(nExpect)); | |||||
| } | |||||
| } | |||||
| }; | |||||
| } | |||||