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 }

被这些函数引用 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)
bool is_prime(unsigned int n)

引用了 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)

引用了 get_num().

被这些函数引用 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(istream &cin, ostream &cout)

引用了 main().