- P130's solution
P130's Solution
- 2025-9-14 20:59:33 @
直接枚举 并判断即可。
#include <bits/stdc++.h>
using namespace std;
bool prime(int x)
{
if (x == 1) return false;
for (int i = 2; i * i <= x; i++)
if (x % i == 0) return false;
return true;
}
int factors(int x)
{
if (prime(x)) return 0;
for (int i = 2; i * i <= x; i++)
if (x % i == 0 && prime(i) && prime(x / i)) return i;
return 0;
}
int main()
{
int n;
cin >> n;
for (int i = 2; i <= n; i++)
if (prime(i))
{
int p = factors(n - i);
if (p)
{
printf("%d%c%d%c%d%c%d\n", n, '=', i, '+', p, '*', (n - i) / p);
return 0;
}
}
return 0;
}