Pagini recente » Cod sursa (job #505236) | Borderou de evaluare (job #2052783) | Borderou de evaluare (job #2662215) | Cod sursa (job #2304478) | Cod sursa (job #585654)
Cod sursa(job #585654)
#include <cstdio>
using namespace std;
FILE *f=fopen("nummst.in", "r");
FILE *g=fopen("nummst.out", "w");
int n;
bool v[10000001];
int main()
{
fscanf(f, "%d", &n);
if (n%2==0)
{
fprintf(g, "%d %d", n/2, n/2);
fclose(f);
fclose(g);
return 0;
}
int i=0;
int ok=0;
for (i=2; i*i<=n; ++i)
{
if (v[i]==0)
{
if (n%i==0)
{
ok=1;
break;
}
for (int j=i+i; j*j<=n; j+=i)
v[j]=1;
}
}
int cv=n/(n/i);
if (!ok)
cv=n;
if (ok)
fprintf(g, "%d %d", n/i*(cv/2), n/i*(cv/2+1));
fclose(f);
fclose(g);
return 0;
}