P4296?[AHOI2007] 密码箱https://www.luogu.com.cn/problem/P4296
#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <cstring>
#include <set>
#include <cmath>
#include <map>
#include <cstdlib>
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
const int MN = 65005;
const int MAXN = 2000010;
const int INF = 0x3f3f3f3f;
#define IOS ios::sync_with_stdio(false)
ll n;
set<ll> s;
int main() {
scanf("%lld", &n);
for (ll i = 1; i * i <= n; i++) {
if (n % i == 0) {
int b = n / i;
for (ll j = b + 1; j <= n; j += b) {
if ((j + 1) % i == 0) {
s.insert(j);
}
}
for (ll j = b - 1; j <= n; j += b) {
if ((j - 1) % i == 0) {
s.insert(j);
}
}
}
}
if (n==1||s.empty()) {
printf("None");
return 0;
}
cout << 1 << '\n';
set<ll>::iterator it = s.begin();
for (; it != s.end(); it++) {
cout << *it << '\n';
}
return 0;
}
|