Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <cmath>
- #include <map>
- using namespace std;
- map <int, vector<int>> mp;
- bool isPalindrom(int a, int &p)
- {
- int x(0), y(a);
- p = 1;
- while (a)
- {
- x *= 10;
- x += a % 10;
- if(a%10)
- p *= a % 10;
- a /= 10;
- }
- return y == x;
- }
- void prostPolindrom(int a)
- {
- bool f(1);
- for (int i = 2; i < sqrt(a); ++i)
- {
- if (a % i == 0)
- {
- f = 0;
- break;
- }
- }
- if (f)
- {
- int p(1), b = a;
- if (isPalindrom(a, p))
- {
- mp[p].push_back(a);
- }
- }
- }
- int main()
- {
- for (int i = 100; i < 1000000001; ++i)
- {
- prostPolindrom(i);
- }
- int key(-1000), mx(-10000);
- for (auto& i : mp)
- {
- cout << i.first << ' ';
- int sz = i.second.size();
- if (sz > mx)
- {
- mx = i.second.size();
- key = i.first;
- }
- }
- for (int i = 0; i < 5; ++i)
- {
- cout << mp[key][mp[key].size() - 1 - i] << ' ';
- }
- return 0;
- }
Advertisement
RAW Paste Data
Copied
Advertisement