Precreation contest files
This commit is contained in:
66
misc/others/beauty.cpp
Normal file
66
misc/others/beauty.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
const int maxc = 50000;
|
||||
char check[maxc + 1];
|
||||
vector<int> prime;
|
||||
|
||||
void sieve() {
|
||||
for (int i = 0; i < maxc; i++)
|
||||
check[i] = 1;
|
||||
check[0] = 0;
|
||||
check[1] = 0;
|
||||
|
||||
for (int i = 2; i * i < maxc; i++)
|
||||
if (check[i])
|
||||
for (int j = i * i; j < maxc; j += i)
|
||||
check[j] = 0;
|
||||
for (int i = 2; i < maxc; i++) {
|
||||
if (check[i])
|
||||
prime.push_back(i);
|
||||
}
|
||||
}
|
||||
|
||||
int is_db(int n) {
|
||||
int m = n;
|
||||
|
||||
vector<int> factor;
|
||||
for (int i = 0; i < prime.size() && prime[i]*prime[i]<=n;i++) {
|
||||
while (n % prime[i] == 0) {
|
||||
factor.push_back(prime[i]);
|
||||
n /= prime[i];
|
||||
}
|
||||
}
|
||||
factor.push_back(n);
|
||||
|
||||
int facsum = 0;
|
||||
for (auto i : factor) {
|
||||
while (i) {
|
||||
facsum += i % 10;
|
||||
i /= 10;
|
||||
}
|
||||
}
|
||||
|
||||
int sum = 0;
|
||||
while (m) {
|
||||
sum += m % 10;
|
||||
m /= 10;
|
||||
}
|
||||
if (sum == facsum) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n;
|
||||
cin >> n;
|
||||
n++;
|
||||
sieve();
|
||||
|
||||
while (!is_db(n)) {
|
||||
n++;
|
||||
}
|
||||
cout << n << "\n";
|
||||
}
|
||||
Reference in New Issue
Block a user