Pagini recente » Borderou de evaluare (job #2445596) | Cod sursa (job #3132405) | Borderou de evaluare (job #1178074) | Borderou de evaluare (job #2020186) | Cod sursa (job #585822)
Cod sursa(job #585822)
#include <iostream>
#include <cstdio>
#include <bitset>
#include <cstdlib>
using namespace std;
const int NMAX = 10000004;
bitset<NMAX> isNotPrim;
int n;
void read_problem(){
freopen("nummst.in","r",stdin);
freopen("nummst.out","w",stdout);
scanf("%d",&n);
}
void print_solution(int x){
int sGramada = n / x;
for (int i=0; i<x; ++i)
printf("%d ",sGramada);
exit(0);
}
void eratosthene(){
//Divisors of 2
for (int i=2; i<n; i+=2)
isNotPrim[i] = true;
for (int i=3; i<n; ++i)
if (!isNotPrim[i]){
if (n%i == 0)
print_solution(i);
static int j;
for(j=i;j<n;j+=i)
isNotPrim[j] = true;
}
}
int main()
{
read_problem();
if (n%2 == 0){
printf("%d %d\n",n/2,n/2);
exit(0);
}
else
eratosthene();
int div2 = n/2;
printf("%d %d\n",div2,n-div2);
return 0;
}