#define USECHRONO #undef HAVE_MPI #include "eval.hpp" #include #include #include #include using namespace aed; using namespace std; //---:---<*>---:---<*>- COMIENZA CODIGO FUNCION --:---<*>---:---<*>---:---<*> // COMPLETAR DNI y NOMBRE AQUI: // Nombre: Felipe Repetto int DNI=39950635; template void set_union(set &A,set &B,set &C) { C.clear(); typename set::iterator pa = A.begin(), pb = B.begin(), pc = C.begin(); while(pa != A.end() && pb != B.end()) { if(*pa < *pb) { pc = C.insert(pc, *pa); pa++; } else if(*pa > *pb) { pc = C.insert(pc, *pb); pb++; } else { pc = C.insert(pc, *pa); pa++; pb++; } pc++; } while(pa != A.end()) { pc = C.insert(pc, *pa); pa++; pc++; } while(pb != B.end()) { pc = C.insert(pc, *pb); pb++; pc++; } } void set_prime(vector> &VS, set &S) { if(VS.empty()) return; set C = VS[0]; VS.erase(VS.begin()); set::iterator itC = C.begin(); while(itC != C.end()) { if(is_prime(*itC)) { set S_aux; set_union(S, C, S_aux); S = S_aux; break; } itC++; } set_prime(VS, S); return; } //---:---<*>---:---<*>- FINALIZA CODIGO FUNCION --:---<*>---:---<*>---:---<*> int main() { Eval ev; int vrbs=0; ev.eval<1>(set_prime,vrbs); return 0; }