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

1094 谷歌的招聘 更多...

函数

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

详细描述

1094 谷歌的招聘

函数说明

◆ is_prime()

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

在文件 pat.cpp3313 行定义.

3313 {
3314 if(n < 2) {
3315 return false;
3316 }
3317 for(int i = 2; i <= sqrt(n); i++) {
3318 if(n % i == 0) {
3319 return false;
3320 }
3321 }
3322 return true;
3323 }

被这些函数引用 main().

◆ main()

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

在文件 pat.cpp3287 行定义.

3287 {
3288 int l;
3289 int k;
3290 cin >> l >> k;
3291 vector<char> n(l);
3292 for(int i = 0; i < l; i++) {
3293 cin >> n[i];
3294 n[i] -= '0';
3295 }
3296 for(int i = 0, j = k - 1; j < l; i++, j++) {
3297 unsigned int ans = 0;
3298 for(int m = i; m <= j; m++) {
3299 ans *= 10;
3300 ans += n[m];
3301 }
3302 if(is_prime(ans)) {
3303 for(int m = i; m <= j; m++) {
3304 cout << static_cast<char>(n[m] + '0');
3305 }
3306 return 0;
3307 }
3308 }
3309 cout << 404;
3310 return 0;
3311 }
bool is_prime(unsigned int n)
Definition: pat.cpp:4422

引用了 is_prime().

被这些函数引用 TEST().

◆ TEST() [1/2]

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

在文件 pat_test.cpp1625 行定义.

1625 {
1626 istringstream in("20 5\n"
1627 "23654987725541023819");
1628 auto out = ostringstream();
1629 main(in, out);
1630 const auto ans = out.str();
1631 ASSERT_EQ("49877", out.str());
1632 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

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

在文件 pat_test.cpp1634 行定义.

1634 {
1635 istringstream in("10 3\n"
1636 "2468001680");
1637 auto out = ostringstream();
1638 main(in, out);
1639 const auto ans = out.str();
1640 ASSERT_EQ("404", out.str());
1641 }

引用了 main().