Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdio.h"
- #include "stdlib.h"
- #include <iostream>
- #include <set>
- #include <math.h>
- #pragma warning(disable : 4996)
- using namespace std;
- int main()
- {
- set<unsigned long long int> s;
- unsigned long long int i, j, a, b, k, count = 0, d[500000], nd = 0;
- cin >> k;
- for (i = 1; i <= (unsigned long long int)sqrt(k); i++)
- {
- if (k % i == 0)
- {
- d[nd] = i;
- nd++;
- d[nd] = k / i;
- nd++;
- }
- }
- for (i = 0; i < nd; i++)
- for (j = 0; j <= i; j++)
- {
- if ((k * k) % d[i] * d[j] == 0)
- {
- s.insert(d[i] * d[j]);
- }
- }
- cout << s.size() << endl;
- for (set<unsigned long long int>::const_iterator it = s.begin(); it != s.end(); it++) {
- cout << k + (*it) << " " << k * k / (*it) + k << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement