Cod sursa(job #585761)

Utilizator ciprianfFarcasanu Alexandru Ciprian ciprianf Data 30 aprilie 2011 11:41:12
Problema NumMst Scor 9
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 10-12 Marime 0.69 kb
#include <stdio.h>
#include <bitset>
using namespace std;
#define N_MAX 10000010
bitset <N_MAX> b;
int n;
void found(int x) {
    for(int i = 1; i <= x; ++i)
        printf("%d ", n/x);
    printf("\n");
}
void ciur() {
    for(int i = 4; i <= n; i+= 2) b[i] = 1;
    for(int i = 3; i <= n; i += 2)
        if(!b[i]) {
            if(n%i==0) {
                found(i);
                return;
            }
            for(int j = i; (long long) j*i <= n; ++j)
                b[i*j] = 1;
        }
}
int main() {
    freopen("nummst.in", "r", stdin);
    freopen("nummst.out" ,"w", stdout);
    scanf("%d", &n);
    if(n%2 == 0) {
        found(2);
        return 0;
    }
    ciur();
    return 0;
}