problemscpp
A collection of my answers to algorithm problems in c++.
函数
pat::b::b1079 命名空间参考

1079 延迟的回文数 更多...

函数

bool is_palindromic (string str)
 
int main (istream &cin, ostream &cout)
 
 TEST (b1079, case1)
 
 TEST (b1079, case2)
 
 TEST (is_palindromic, case1)
 
 TEST (is_palindromic, case2)
 
 TEST (is_palindromic, case3)
 
 TEST (is_palindromic, case4)
 

详细描述

1079 延迟的回文数

函数说明

◆ is_palindromic()

bool pat::b::b1079::is_palindromic ( string  str)

在文件 pat.cpp2767 行定义.

2767 {
2768 for(int i = 0; i < str.length() / 2; i++) {
2769 if(str[i] != str[str.length() - 1 - i]) {
2770 return false;
2771 }
2772 }
2773 return true;
2774 }

被这些函数引用 main(), leetcode::palindrome_partitioning_ii::Solution::minCut() , 以及 TEST().

◆ main()

int pat::b::b1079::main ( istream &  cin,
ostream &  cout 
)

在文件 pat.cpp2776 行定义.

2776 {
2777 string str;
2778 cin >> str;
2779 BigInt bi(str);
2780 for(int i = 0; i < 10; i++) {
2781 stringstream ss;
2782 ss << bi;
2783 str = ss.str();
2784 if(is_palindromic(str)) {
2785 cout << bi << " is a palindromic number.";
2786 return 0;
2787 }
2788 auto str_b = string(str.rbegin(), str.rend());
2789 BigInt bi_b(str_b);
2790 BigInt c = bi + bi_b;
2791 cout << str << " + " << str_b << " = " << c << endl;
2792 bi = c;
2793 }
2794 cout << "Not found in 10 iterations.";
2795 return 0;
2796 }
bool is_palindromic(string str)
Definition: pat.cpp:2767
高精度整数
Definition: templates.h:23

引用了 is_palindromic().

被这些函数引用 TEST().

◆ TEST() [1/6]

pat::b::b1079::TEST ( b1079  ,
case1   
)

在文件 pat_test.cpp1330 行定义.

1330 {
1331 istringstream in("97152");
1332 auto out = ostringstream();
1333 main(in, out);
1334 const auto ans = out.str();
1335 ASSERT_EQ("97152 + 25179 = 122331\n"
1336 "122331 + 133221 = 255552\n"
1337 "255552 is a palindromic number.",
1338 out.str());
1339 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/6]

pat::b::b1079::TEST ( b1079  ,
case2   
)

在文件 pat_test.cpp1341 行定义.

1341 {
1342 istringstream in("196");
1343 auto out = ostringstream();
1344 main(in, out);
1345 const auto ans = out.str();
1346 ASSERT_EQ("196 + 691 = 887\n"
1347 "887 + 788 = 1675\n"
1348 "1675 + 5761 = 7436\n"
1349 "7436 + 6347 = 13783\n"
1350 "13783 + 38731 = 52514\n"
1351 "52514 + 41525 = 94039\n"
1352 "94039 + 93049 = 187088\n"
1353 "187088 + 880781 = 1067869\n"
1354 "1067869 + 9687601 = 10755470\n"
1355 "10755470 + 07455701 = 18211171\n"
1356 "Not found in 10 iterations.",
1357 out.str());
1358 }

引用了 main().

◆ TEST() [3/6]

pat::b::b1079::TEST ( is_palindromic  ,
case1   
)

在文件 pat_test.cpp1360 行定义.

1360 {
1361 ASSERT_TRUE(is_palindromic("12321"));
1362 }

引用了 is_palindromic().

◆ TEST() [4/6]

pat::b::b1079::TEST ( is_palindromic  ,
case2   
)

在文件 pat_test.cpp1364 行定义.

1364 {
1365 ASSERT_TRUE(is_palindromic("123321"));
1366 }

引用了 is_palindromic().

◆ TEST() [5/6]

pat::b::b1079::TEST ( is_palindromic  ,
case3   
)

在文件 pat_test.cpp1368 行定义.

1368 {
1369 ASSERT_FALSE(is_palindromic("1233210"));
1370 }

引用了 is_palindromic().

◆ TEST() [6/6]

pat::b::b1079::TEST ( is_palindromic  ,
case4   
)

在文件 pat_test.cpp1372 行定义.

1372 {
1373 ASSERT_FALSE(is_palindromic("123421"));
1374 }

引用了 is_palindromic().