From 905c578f9b6ae734e9420a31e9b5bd3091c6bc78 Mon Sep 17 00:00:00 2001 From: linyongji Date: Wed, 3 Feb 2021 15:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF4=E5=AE=8C=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=AE=8C=E6=88=90=E7=9A=84=E9=A2=98=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/Algorithm/v16/.suo | Bin 56320 -> 61952 bytes code/code.vcxproj | 3 +++ code/code.vcxproj.filters | 9 +++++++++ code/config/4_IsPalindrome.ini | 30 ++++++++++++++++++++++++++++++ code/include/4_IsPalindrome.h | 2 ++ code/src/4_IsPalindrome.cpp | 26 ++++++++++++++++++++++++++ test/pch.h | 1 + test/test.cpp | 19 +++++++++++++++++++ 8 files changed, 90 insertions(+) create mode 100644 code/config/4_IsPalindrome.ini create mode 100644 code/include/4_IsPalindrome.h create mode 100644 code/src/4_IsPalindrome.cpp diff --git a/.vs/Algorithm/v16/.suo b/.vs/Algorithm/v16/.suo index 2f397a4cbeb04dbe62495ac608c38dc75957ff11..a3c70ec1cb8fa8eb01522ee22c96ee4705dfdefb 100644 GIT binary patch delta 7263 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 + + + diff --git a/code/code.vcxproj.filters b/code/code.vcxproj.filters index 235fdd2..72a0c19 100644 --- a/code/code.vcxproj.filters +++ b/code/code.vcxproj.filters @@ -24,6 +24,9 @@ 头文件 + + 头文件 + @@ -38,6 +41,9 @@ 源文件 + + 源文件 + @@ -49,5 +55,8 @@ 资源文件 + + 资源文件 + \ No newline at end of file diff --git a/code/config/4_IsPalindrome.ini b/code/config/4_IsPalindrome.ini new file mode 100644 index 0000000..227c22e --- /dev/null +++ b/code/config/4_IsPalindrome.ini @@ -0,0 +1,30 @@ +[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 +[Test7] +Na=-123321 +nExpect=0 +[Test8] +Na=14333341 +nExpect=1 +[Test9] +Na=3333333 +nExpect=1 +[Test10] +Na=123454321 +nExpect=1 \ No newline at end of file diff --git a/code/include/4_IsPalindrome.h b/code/include/4_IsPalindrome.h new file mode 100644 index 0000000..6dec3d2 --- /dev/null +++ b/code/include/4_IsPalindrome.h @@ -0,0 +1,2 @@ +#pragma once +bool IsPalindrome(int x); \ No newline at end of file diff --git a/code/src/4_IsPalindrome.cpp b/code/src/4_IsPalindrome.cpp new file mode 100644 index 0000000..de0e6bd --- /dev/null +++ b/code/src/4_IsPalindrome.cpp @@ -0,0 +1,26 @@ +#include "../include/4_IsPalindrome.h" +//ĿжһǷΪ +//˼·Դ֪Ǽλѭ%10/10,ȡÿλϵ֣*10ӣ +// õת,ٺԭԱȡ + +bool IsPalindrome(int x) +{ + if (x < 0) //Ϊǻfalse + return false; + int x_Count = 1; //һcountͳƴǼλ + int x_Coln1 = x; //ѴһݣΪҪ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; //10ȡλ + } + if (x_Turn == x_Coln1) //жϷתԭǷ + return true; + return false; +} \ No newline at end of file diff --git a/test/pch.h b/test/pch.h index e96d9f0..8f8b714 100644 --- a/test/pch.h +++ b/test/pch.h @@ -17,6 +17,7 @@ #include"../code/include/1_ContainsNearbyDuplicate.h" #include"../code/include/2_ExcelSheetColumnTitle.h" #include"../code/include/3_IsUgly.h" +#include"../code/include/4_IsPalindrome.h" int CalcCount(int n, char(*str)[10], const char* FileName); diff --git a/test/test.cpp b/test/test.cpp index fd92a14..31600fe 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -5,6 +5,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; #define FileName_1 "../code/config/1_ContainsNearbyDuplicate.ini" #define FileName_2 "../code/config/2_ExcelSheetColumnTiTle.ini" #define FileName_3 "../code/config/3_IsUgly.ini" +#define FileName_4 "../code/config/4_IsPalindrome.ini" namespace test1 @@ -65,4 +66,22 @@ namespace test3 } }; } +namespace test4 +{ + 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)); + } + } + }; +}