From 39223ae02a064e99b3a6093a44fd477f8b21e5c4 Mon Sep 17 00:00:00 2001 From: linyongji Date: Fri, 15 Jan 2021 09:29:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF4=E5=AE=8C=E6=88=90=E4=BA=86?= =?UTF-8?q?=E9=A2=98=E7=9B=AE=EF=BC=8C=E5=B9=B6=E8=BF=9B=E8=A1=8C=E4=BA=86?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++ Alogrithm/.vs/Alogrithm/v16/.suo | Bin 60928 -> 68096 bytes Alogrithm/Alogrithm/Alogrithm.vcxproj | 3 ++ Alogrithm/Alogrithm/Alogrithm.vcxproj.filters | 9 ++++++ Alogrithm/Alogrithm/config/4_IsPalindrome.ini | 18 +++++++++++ Alogrithm/Alogrithm/include/4_IsPalindrome.h | 3 ++ Alogrithm/Alogrithm/src/4_IsPalindrome.cpp | 28 ++++++++++++++++++ Alogrithm/Alogrithm/src/main.cpp | 4 +-- Alogrithm/UnitTest/UnitTest.cpp | 18 ++++++++++- Alogrithm/UnitTest/UnitTest.vcxproj | 2 +- Alogrithm/UnitTest/pch.h | 2 ++ 11 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 Alogrithm/Alogrithm/config/4_IsPalindrome.ini create mode 100644 Alogrithm/Alogrithm/include/4_IsPalindrome.h create mode 100644 Alogrithm/Alogrithm/src/4_IsPalindrome.cpp diff --git a/.gitignore b/.gitignore index 63ee83b..c634ed9 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,6 @@ Alogrithm/Debug/UnitTest.exp Alogrithm/Debug/UnitTest.ilk Alogrithm/Debug/UnitTest.lib Alogrithm/Debug/UnitTest.pdb +Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/b7e343aeb2d15224/4_ISPALINDROME.ipch +Alogrithm/Alogrithm/Debug/4_IsPalindrome.obj +Alogrithm/TestResults/6fafde8c-d7b3-4676-8e54-90b128e5f315/林_MI-1 2021-01-15 09_25_22.coverage diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo index 9ab78c74fc3a858a24e3f245bf8baf270c660707..d4c470f9e198ee0da1ca41ebfb5475d231425fd5 100644 GIT binary patch delta 7855 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 + + + diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters index 98f0953..1b932e1 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters @@ -36,6 +36,9 @@ 源文件\src + + 源文件\src + @@ -47,6 +50,9 @@ 头文件\include + + 头文件\include + @@ -58,5 +64,8 @@ 资源文件\config + + 资源文件\config + \ No newline at end of file diff --git a/Alogrithm/Alogrithm/config/4_IsPalindrome.ini b/Alogrithm/Alogrithm/config/4_IsPalindrome.ini new file mode 100644 index 0000000..1730509 --- /dev/null +++ b/Alogrithm/Alogrithm/config/4_IsPalindrome.ini @@ -0,0 +1,18 @@ +[Test1] +Na=121 +nExpect=1 +[Test2] +Na=123321 +nExpect=1 +[Test3] +Na=214748367 +nExpect=0 +[Test4] +Na=1212 +nExpect=0 +[Test5] +Na=20 +nExpect=0 +[Test6] +Na=-214748368 +nExpect=0 \ No newline at end of file diff --git a/Alogrithm/Alogrithm/include/4_IsPalindrome.h b/Alogrithm/Alogrithm/include/4_IsPalindrome.h new file mode 100644 index 0000000..11bf0c3 --- /dev/null +++ b/Alogrithm/Alogrithm/include/4_IsPalindrome.h @@ -0,0 +1,3 @@ +#pragma once + +bool IsPalindrome(int x); \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/4_IsPalindrome.cpp b/Alogrithm/Alogrithm/src/4_IsPalindrome.cpp new file mode 100644 index 0000000..bd06958 --- /dev/null +++ b/Alogrithm/Alogrithm/src/4_IsPalindrome.cpp @@ -0,0 +1,28 @@ +#include "../include/4_IsPalindrome.h" + +//˼·Դ֪Ǽλѭ%10/10,ȡÿλϵ֣*10ӣõת +//ٺԭԱȡ + +bool IsPalindrome(int x) +{ + int x_Count = 1;//һcountͳƴǼλ + long long x_Coln1 = x;//Ѵһݣõ + long long x_Turn = 0;//淭תֵintת + while ((x / 10) != 0) {//ͨѭǼλ + x_Count++; + x = x / 10; + } + x = x_Coln1;//ԭ滹Ҫõ + for (int i = 0; i < x_Count; i++) {//úŵx_TurnУ + int temp = x % 10; + x_Turn = x_Turn * 10 + temp; + x = x / 10; + } + if (x_Coln1 < 0) {//жǷΪǵĻϸţñ + x_Turn = 0 - x_Turn; + } + if (x_Turn == x_Coln1) {//жϷתԭǷ + 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 e5da2e0..7490043 100644 --- a/Alogrithm/Alogrithm/src/main.cpp +++ b/Alogrithm/Alogrithm/src/main.cpp @@ -3,6 +3,6 @@ int main() { //ExcelSheetColumnTitle(10); - printf("%d\n", IsUgly(6)); + //printf("%d\n", IsUgly(6)); return 0; -} \ No newline at end of file +} diff --git a/Alogrithm/UnitTest/UnitTest.cpp b/Alogrithm/UnitTest/UnitTest.cpp index 02a5cee..08d0654 100644 --- a/Alogrithm/UnitTest/UnitTest.cpp +++ b/Alogrithm/UnitTest/UnitTest.cpp @@ -5,6 +5,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; #define FileName_1 "../Alogrithm/config/1_ContainsNearbyDuplicate.ini" #define FileName_2 "../Alogrithm/config/2_ExcelSheetColumnTiTle.ini" #define FileName_3 "../Alogrithm/config/3_bool IsUgly.ini" +#define FileName_4 "../Alogrithm/config/4_IsPalindrome.ini" namespace UnitTest { @@ -56,5 +57,20 @@ namespace UnitTest Assert::AreEqual(nReal, CstrToBool(nExpect)); } } - }; + }; + TEST_CLASS(UnitTest_4) + { + TEST_METHOD(TestMethode1) + { + char Section_Name[100][10] = { 0 }; + int Section_Count = CalcCount(100, Section_Name, FileName_4); + CString Na, nExpect; + for (int i = 0; i < Section_Count; i++) { + GetPrivateProfileString(Section_Name[i], "Na", " ", Na.GetBuffer(20), 20, FileName_4); + GetPrivateProfileString(Section_Name[i], "nExpect", " ", nExpect.GetBuffer(20), 20, FileName_4); + bool nReal = IsPalindrome(_ttoi(Na)); + Assert::AreEqual(nReal, CstrToBool(nExpect)); + } + } + }; } diff --git a/Alogrithm/UnitTest/UnitTest.vcxproj b/Alogrithm/UnitTest/UnitTest.vcxproj index c535e32..0f62b5f 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;%(AdditionalDependencies) + ../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;%(AdditionalDependencies) diff --git a/Alogrithm/UnitTest/pch.h b/Alogrithm/UnitTest/pch.h index c6d59d0..eb25a56 100644 --- a/Alogrithm/UnitTest/pch.h +++ b/Alogrithm/UnitTest/pch.h @@ -16,6 +16,8 @@ #include"../Alogrithm/include/1_ContainsNearbyDuplicate.h" #include"../Alogrithm/include/2_ExcelSheetColumnTitle.h" #include"../Alogrithm/include/3_bool IsUgly.h" +#include"../Alogrithm/include/4_IsPalindrome.h" + int CalcCount(int n, char(*str)[10],const char *FileName);