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

1099 性感素数 更多...

函数

bool is_prime (unsigned int n)
 
int main (istream &cin, ostream &cout)
 
 TEST (b1099, case1)
 
 TEST (b1099, case2)
 

详细描述

1099 性感素数

函数说明

◆ is_prime()

bool pat::b::b1099::is_prime ( unsigned int  n)

在文件 pat.cpp3558 行定义.

3558 {
3559 if(n == 1) {
3560 return false;
3561 }
3562 for(unsigned int i = 2; i <= sqrt(n); i++) {
3563 if(n % i == 0) {
3564 return false;
3565 }
3566 }
3567 return true;
3568 }

被这些函数引用 main().

◆ main()

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

在文件 pat.cpp3522 行定义.

3522 {
3523 unsigned int n;
3524 cin >> n;
3525 if(is_prime(n)) {
3526 if(n > 7 && is_prime(n - 6)) {
3527 cout << "Yes" << endl
3528 << n - 6;
3529 return 0;
3530 }
3531 if(is_prime(n + 6)) {
3532 cout << "Yes" << endl
3533 << n + 6;
3534 return 0;
3535 }
3536 }
3537 for(unsigned int i = n + 1;; i++) {
3538 if(is_prime(i)) {
3539 if(i > 7 && is_prime(i - 6)) {
3540 cout << "No" << endl
3541 << i;
3542 return 0;
3543 }
3544 if(is_prime(i + 6)) {
3545 cout << "No" << endl
3546 << i;
3547 return 0;
3548 }
3549 if(is_prime(i + 6)) {
3550 cout << "No" << endl
3551 << i;
3552 return 0;
3553 }
3554 }
3555 }
3556 }
bool is_prime(unsigned int n)
Definition: pat.cpp:4422

引用了 is_prime().

被这些函数引用 TEST().

◆ TEST() [1/2]

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

在文件 pat_test.cpp1732 行定义.

1732 {
1733 istringstream in("47");
1734 auto out = ostringstream();
1735 main(in, out);
1736 const auto ans = out.str();
1737 ASSERT_EQ("Yes\n"
1738 "41",
1739 out.str());
1740 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

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

在文件 pat_test.cpp1742 行定义.

1742 {
1743 istringstream in("21");
1744 auto out = ostringstream();
1745 main(in, out);
1746 const auto ans = out.str();
1747 ASSERT_EQ("No\n"
1748 "23",
1749 out.str());
1750 }

引用了 main().