Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Faaaaak
#include <bits/stdc++.h> #define MAXTAM 1000000 using namespace std; vector<bool> criba(MAXTAM,0); void Gcriba() { criba[0] = 0; criba[1] = 0; for(int i = 2; i < MAXTAM; i++) { if(criba[i]==0) { criba[i] = 0; for(int j = i; j < MAXTAM/i; j++) if(criba[i*j] == 0) criba[i*j] = 1; } } } int SP(int n) { /*cout << "Criba"; for(int i = 0 ; i < 30; i++) cout << criba[i] << " "; cout << "\n";*/ if(criba[n] == 0) { return n; } for(int i = 2; i < MAXTAM; i++) { if(criba[i] == 0) if( n % i == 0 ) return n/i; } } int main() { int P, n, a0, a1, dato, contador, siguiente, primero, tamano, K, ultimo, limite; vector <int> listado; int op; map <pair<int, int>, int> lista; pair<int, int> seleccion = make_pair(0,0); Gcriba(); cin >> P; while(P--) { listado.clear(); lista.clear(); seleccion = make_pair(-1,-1); cin >> K; cin >> n; cin >> a0; cin >> a1; listado.push_back(a0); listado.push_back(a1); lista[make_pair(a0,a1)] = 0; lista[make_pair(a1,SP(a0+a1))] = 1; //cout << "Lista\n"; for(int i = 2; i < n; i++) { dato = SP(listado[i-1]+listado[i-2]); siguiente = SP(dato+listado[i-1]); //cout << listado[i-1]+listado[i-2] << ":"; //cout << SP(listado[i-1]+listado[i-2]) << " "; if(lista.find(make_pair(dato,siguiente)) == lista.end() or i == n-1) { lista[make_pair(dato,siguiente)] = i; listado.push_back(dato); } else { seleccion = make_pair(dato,siguiente); contador = i; break; } } //cout << "\n\n"; if(seleccion == make_pair(-1,-1)) { cout << K << " " << n << " 0\n"; cout << SP(listado[n-1]+listado[n-2]) <<"\n"; } else if( SP(a0+a1) == a0 ) { tamano = contador - lista[seleccion]; cout << K << " " << contador << " " << tamano << "\n"; for(int i = 0 ; i < tamano ; i++) cout << listado[i + lista[seleccion]] << " "; cout << seleccion.first << " " << seleccion.second << "\n"; } else { limite = 0; tamano = contador - lista[seleccion]; cout << K << " " << contador+1 << " " << tamano << "\n"; for(int i = 0 ; i < tamano ; i++) { cout << listado[i + lista[seleccion]] << " "; } cout << seleccion.first << " " << seleccion.second << "\n"; } } }
run
|
edit
|
history
|
help
0
XD
code
cppPyPoly
simple use of templete
frequsency
4149 coj WIP
Привет Linux
Expected types
Type erasure
PreDir