From 6ef557c6e0dd1d7e8196979519ae0cfc8f50a050 Mon Sep 17 00:00:00 2001 From: linyongji Date: Wed, 3 Feb 2021 14:48:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF=E4=B8=89=E5=AE=8C=E6=88=90?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E4=BA=A4=E5=AE=8C=E6=88=90=E7=9A=84=E9=A2=98?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ .vs/Algorithm/v16/.suo | Bin 51200 -> 56320 bytes code/code.vcxproj | 3 +++ code/code.vcxproj.filters | 9 +++++++++ code/config/3_IsUgly.ini | 30 ++++++++++++++++++++++++++++++ code/include/3_IsUgly.h | 3 +++ code/src/3_IsUgly.cpp | 28 ++++++++++++++++++++++++++++ test/pch.h | 1 + test/test.cpp | 19 +++++++++++++++++++ 9 files changed, 96 insertions(+) create mode 100644 code/config/3_IsUgly.ini create mode 100644 code/include/3_IsUgly.h create mode 100644 code/src/3_IsUgly.cpp diff --git a/.gitignore b/.gitignore index c4154dd..2eb6e37 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ *.txt *.ilk *.exp +*.db-wal +*.db-shm +*.opendb diff --git a/.vs/Algorithm/v16/.suo b/.vs/Algorithm/v16/.suo index a6bcb9e3f63d296e9b7f4cdd0b3496a98b0e55fa..2f397a4cbeb04dbe62495ac608c38dc75957ff11 100644 GIT binary patch delta 7073 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 delta 4668 zcmdT{dr*|u72msjAAF05iy-fphzg3Zi%0~CE{~$&9o?!CL{JfNP*8S_3Xv~r(!}_{ z{aKBgNeT9kCh26vZHO~%$3;Wh8FkvJR{NUNbecBPI!=xE&bepRQ+{ffUza7$Xz&)Z!4N}LKf>+d;bE5gp;xZ#ty?Wz#xfyeqA?-Z zQ*rL-;Lv3;ow{ws*k*hRg??7!Wdpu2ZkJ0)`Z2cpl`1sDFi(wIgyX8;_^~^vaXEl~ zsKi1@F`c1QOC*dV$b=9=5`l+uVPz9R@yb%@%RA!|=9N`?zv1)^Bm@zbcx9|NmFi;% zbU1C^$@E=8m}oF$Ym-f(hK&$Om_f)Oq!Y3T7J`+KOyJ45q!J|=E;%K?l!Rr3X+E8c zeCn)hr*@o=Y?)6zjV203ha4oLndJj@DR)S=JRR`beMr9YD3UvUN#+f3nLvx)qAyd- z^f8?ggs}wf=i*Owrk?2<@0AC8zkCg>!(*9Vrk<~Ysb^-GdWk^YwZp#L^PmTC|5(&V zjZDhZXyw02ec~q)pAXj(Td^zfH^>UK^x9t&uHa;Ma&&?)3EqLA4e9nQV&RObVB43E zk@yc7vX-E5w$-&=!j{bQDDtzwF|(2t{CARqFyQ7B6%v!BPvLgVwhM_V*Cqa&sWD8N z({G9x+(@gC#gp89b!8$fMz$2^jGZ#uvH`ae{(fi6F9q7LRt`H*SLF&`An{G=Q@S0& zmBOU?1>c1(4%|i!zBLlvo>;8#W%EVr{jLRcjHEKWzutnuB)c@zrw@)wyToC_N12UE zD=teRpBWB|c6JO}?9x2y(RJalR+==AW5>~@{vpKehj$&EP4e!83p0jhm6*gN>Phe! z3`aIi$@;Or(m|36wjp+HeIaaM*GTJ;GDiwEOrmg2r#nd=dg?me7kq&(MQNwahm*EhE{s5r1c4(fXfTm>;#mkBE2PVlKx?zKVrucVNJAxq_B#3NaYM;MBrm>x3=TOvC&XU9-v zslpk;Y=Um|a70m{q5B=?Q1Inc3ZRX|OG>Fpa4wL@ylZ%z`Xbwtx0bufFS1wqt-M<^u64^YkB*gKj~M% zX~jp5+pgvNj7EX3QqKMr}(Y(d5PFo+I{Z1s;E=IE_np~!Vg1mzq ze-$aUVp6Tu?Wwg1yt5+Roxbi@LKq125 zyT6OhgOgEpMAq874&~w2TLDr0n(2k#a{gzmc^pLbJgC)4IQsUKlPf&}o(sDXcp^J+ z)UgcMy*GQzXtS{a*XPb+FH2dG-`vCoZD&7l<_RUcY-p393Z|Cs4 o7F9zrXq92D9*szkAHU6pV0WD7x%*!wy3TIC`%X04kE?y+U%Xl-WB>pF diff --git a/code/code.vcxproj b/code/code.vcxproj index 6986421..d5c836b 100644 --- a/code/code.vcxproj +++ b/code/code.vcxproj @@ -141,15 +141,18 @@ + + + diff --git a/code/code.vcxproj.filters b/code/code.vcxproj.filters index 279cc21..235fdd2 100644 --- a/code/code.vcxproj.filters +++ b/code/code.vcxproj.filters @@ -21,6 +21,9 @@ 头文件 + + 头文件 + @@ -32,6 +35,9 @@ 源文件 + + 源文件 + @@ -40,5 +46,8 @@ 资源文件 + + 资源文件 + \ No newline at end of file diff --git a/code/config/3_IsUgly.ini b/code/config/3_IsUgly.ini new file mode 100644 index 0000000..ccaeef9 --- /dev/null +++ b/code/config/3_IsUgly.ini @@ -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 \ No newline at end of file diff --git a/code/include/3_IsUgly.h b/code/include/3_IsUgly.h new file mode 100644 index 0000000..b0585bf --- /dev/null +++ b/code/include/3_IsUgly.h @@ -0,0 +1,3 @@ +#pragma once +#include +bool IsUgly(int num); \ No newline at end of file diff --git a/code/src/3_IsUgly.cpp b/code/src/3_IsUgly.cpp new file mode 100644 index 0000000..22a01d6 --- /dev/null +++ b/code/src/3_IsUgly.cpp @@ -0,0 +1,28 @@ +#include "../include/3_IsUgly.h " +//ĿжһǷΪܱ2 3 5ܷtrueܷfalse +//˼·1.ѭж%2%3%5ǷΪ0Ӧѭ +// 2.numжϣΪ1˵ܱ235dzǡ +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˵ܱdzdzfalse + return true; + } + return false; +} \ No newline at end of file diff --git a/test/pch.h b/test/pch.h index a50326e..e96d9f0 100644 --- a/test/pch.h +++ b/test/pch.h @@ -16,6 +16,7 @@ #include"../code/include/1_ContainsNearbyDuplicate.h" #include"../code/include/2_ExcelSheetColumnTitle.h" +#include"../code/include/3_IsUgly.h" int CalcCount(int n, char(*str)[10], const char* FileName); diff --git a/test/test.cpp b/test/test.cpp index 55aaa7f..fd92a14 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -4,6 +4,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" 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)); + } + } + }; +}