Cod sursa(job #867589)

Utilizator marius135Dumitran Adrian Marius marius135 Data 29 ianuarie 2013 21:01:45
Problema Divizori Primi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include<stdio.h>
#include<cstring>
#include<iostream>
#include<fstream>

using namespace std; 	
#define maxn 1000001

int v[maxn], nrdiv[maxn];
int ans[maxn][8];

void find_divizori( int max) {
	
	for( int i = 2; i <= max; ++i)
		if(v[i] == 0)
			for( int j = 1; j * 1ll * i <= max; ++j){
				v[i*j] = i;
			}
	
	nrdiv[1] = 0;
	for( int i = 2; i <= max; ++i) {
		int value = i, nr = 0, last_div = -1000;
		while( value != 1) {
			if( v[value] != last_div) {
					nr++;
				last_div = v[value];
			}
			value /= v[value];
		}
		nrdiv[i] = nr;
	}
	int last[8];
	memset(last, 0, sizeof(last));
	for( int i = 0; i<= max; i++) {
		if( nrdiv[i] <= 7)
			last[ nrdiv[i]] = i;
		for(int ii = 7; ii >= 1; ii--)
			ans[i][ii] = last[ii];
	}
	
}

int main() {
	
	ifstream f("divprim.in");
    ofstream g("divprim.out");
	//find_divizori(1000000);
	int n;
	f>>n;
	for( int i = 1; i <= n; ++i){
		int a, b;
		f>>a>>b;
		g<<0<<endl;
		//g<<ans[a][b]<<endl;
	}
	f.close();
	g.close();
	return 0;
}