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

1015 Reversible Primes 更多...

函数

unsigned get_num (const string &n, unsigned d)
 
unsigned get_num (const string &n, unsigned int d)
 
bool is_prime (unsigned int n)
 
bool is_prime (unsigned n)
 
int main (istream &cin, ostream &cout)
 
unsigned reverse (unsigned int n, unsigned int d)
 
unsigned reverse (unsigned n, unsigned d)
 
 TEST (a1015, case1)
 

详细描述

1015 Reversible Primes

函数说明

◆ get_num() [1/2]

unsigned pat::a::a1015::get_num ( const string &  n,
unsigned  d 
)

◆ get_num() [2/2]

unsigned pat::a::a1015::get_num ( const string &  n,
unsigned int  d 
)

在文件 pat.cpp4413 行定义.

4413 {
4414 unsigned ans = 0;
4415 for(const char ch: n) {
4416 ans *= d;
4417 ans += ch - '0';
4418 }
4419 return ans;
4420 }

被这些函数引用 reverse().

◆ is_prime() [1/2]

bool pat::a::a1015::is_prime ( unsigned int  n)

在文件 pat.cpp4422 行定义.

4422 {
4423 if(n < 2) {
4424 return false;
4425 }
4426 for(unsigned i = 2; i <= sqrt(n); i++) {
4427 if(n % i == 0) {
4428 return false;
4429 }
4430 }
4431 return true;
4432 }

被这些函数引用 pat::b::b1007::main(), pat::b::b1013::main() , 以及 main().

◆ is_prime() [2/2]

bool pat::a::a1015::is_prime ( unsigned  n)

◆ main()

int pat::a::a1015::main ( istream &  cin,
ostream &  cout 
)

在文件 pat.cpp4399 行定义.

4399 {
4400 unsigned n;
4401 unsigned d;
4402 while(cin >> n && cin >> d) {
4403 if(is_prime(n) && is_prime(reverse(n, d))) {
4404 cout << "Yes";
4405 } else {
4406 cout << "No";
4407 }
4408 cout << endl;
4409 }
4410 return 0;
4411 }
unsigned reverse(unsigned int n, unsigned int d)
Definition: pat.cpp:4434
bool is_prime(unsigned int n)
Definition: pat.cpp:4422

引用了 is_prime() , 以及 reverse().

被这些函数引用 TEST().

◆ reverse() [1/2]

unsigned pat::a::a1015::reverse ( unsigned int  n,
unsigned int  d 
)

在文件 pat.cpp4434 行定义.

4434 {
4435 ostringstream oss;
4436 while(n != 0) {
4437 oss << n % d;
4438 n /= d;
4439 }
4440 return get_num(oss.str(), d);
4441 }
unsigned get_num(const string &n, unsigned int d)
Definition: pat.cpp:4413

引用了 get_num().

被这些函数引用 pat::b::b1025::main() , 以及 main().

◆ reverse() [2/2]

unsigned pat::a::a1015::reverse ( unsigned  n,
unsigned  d 
)

◆ TEST()

pat::a::a1015::TEST ( a1015  ,
case1   
)

在文件 pat_test.cpp2075 行定义.

2075 {
2076 istringstream in("73 10\n"
2077 "23 2\n"
2078 "23 10\n"
2079 "-2");
2080 auto out = ostringstream();
2081 main(in, out);
2082 ASSERT_EQ("Yes\n"
2083 "Yes\n"
2084 "No\n",
2085 out.str());
2086 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().