Pagini recente » Monitorul de evaluare | Cod sursa (job #496514) | Cod sursa (job #1830448) | Cod sursa (job #164871) | Cod sursa (job #1758643)
#include <bits/stdc++.h>
#define maxN 10000002
using namespace std;
int n, d, m;
void read()
{
freopen("nummst.in", "r", stdin);
scanf("%d", &n);
}
void solve()
{
int i;
for (i = 2; i * i <= n; ++ i)
if (n % i == 0)
{
d = n / i;
break;
}
if (!d)
d = 1;
else
n = i;
double ans = -1.0;
m = 2;
for (i = 2; i <= n; ++ i)
{
int r = n % i;
double sol = 1.0 * log10f(n / i) * (i - r) + 1.0 * log10f((n / i) + 1) * r;
if (sol > ans)
{
m = i;
ans = sol;
}
}
}
void write()
{
int i, r = n % m, a = (n / m);
freopen("nummst.out", "w", stdout);
for (i = 1; i <= m - r; ++ i)
printf("%d ", d * a);
for (i = 1; i <= r; ++ i)
printf("%d ", d * (a + 1));
}
int main()
{
read();
solve();
write();
return 0;
}