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 9ab78c7..d4c470f 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 a50f01e..0da0661 100644
--- a/Alogrithm/Alogrithm/Alogrithm.vcxproj
+++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj
@@ -143,17 +143,20 @@
+
+
+
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);