Pagini recente » Cod sursa (job #1552641) | Cod sursa (job #2837680) | Cod sursa (job #138547) | Cod sursa (job #1737966) | Cod sursa (job #956492)
Cod sursa(job #956492)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<list>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<cstdlib>
#include<vector>
#include<climits>
#include<ctime>
#include<sstream>
#define mp make_pair
#define pb push_back
#define st first
#define nd second
#define wait getchar();getchar();
#define lint long long
#define KARE(a) ( (a)*(a) )
#define MAX(a,b) ( (a)>(b) ? (a) : (b) )
#define MIN(a,b) ( (a)<(b) ? (a) : (b) )
#define MAX3(a,b,c) ( MAX( a,MAX(b,c) ) )
#define MIN3(a,b,c) ( MIN( a,MIN(b,c) ) )
#define FILL(ar,a) memset( ar,a,sizeof ar )
#define oo 1e9
#define pii pair<int,int>
#define pll pair<lint,lint>
#define pdd pair<double,double>
#define y1 yy1
#define eps (1e-9)
#define esit(a,b) ( abs( (a)-(b) ) < eps )
#define sol(a) ( (a)<<1 )
#define sag(a) ( sol(a)|1 )
#define orta(a,b) ( ( (a)+(b) )>>1 )
#define mxn 10000005
using namespace std;
int n,ans=1;
bool p[mxn];
bool prime( int s ){
if( s==2 ) return 1;
if( !(s&1) ) return 0;
int kok = sqrt(s);
for( int i=3 ; i<=kok ; i+=2 ) if( s%i==0 ) return 0;
return 1;
}
void read(){
freopen( "nummst.in" , "r" , stdin );
freopen( "nummst.out" , "w" , stdout );
scanf( "%d" , &n );
return;
}
void solve(){
int i,j,n2,t;
read();
n2 = n>>1;
for( i=3 ; i<=n2 ; i+=2 )
if( !p[i] && !(n%i) ){
ans = i;
for( j=i+i ; j<=n2 ; j+=i ) p[j] = 1;
}
t = ( n/ans )-1;
for( i=2 ; t>=i ; i++ )
if( prime(i) ){
printf( "%d " , i*ans );
t -= i;
}
printf( "%d\n" , (t+1)*ans );
return;
}
int main(){
solve();
return 0;
}