Pagini recente » Cod sursa (job #1518321) | Cod sursa (job #1328617) | Cod sursa (job #2627566) | Cod sursa (job #2927282) | Cod sursa (job #918766)
Cod sursa(job #918766)
#include <cstdio>
#include <fstream> using namespace std; int main(){ //Deschiderea fisierelor de intrare si iesire ifstream fin("multimi2.in"); ofstream fout("multimi2.out"); //Cele doua variabile necesare, n este numarul de numere iar i este contor int n,i; //Se citeste n fin>>n; //Se rezolva cerinta in functie de restul impartirii lui n la 4, solutii de 0 //fiind pentru 0 si 3 iar de 1 pentru 1 si 2 if(n%4==0) { fout<<"0\n"; //Ideea din spatele fiecarei ramuri a if-ului este ca pentru 4 numere consecutive putem obtine 0 (n+1-n-2-n-3+n+4) fout<<n/2<<'\n'; //n/4*2 for(i=1;i+3<=n;i+=4) fout<<i<<' '<<i+3<<' '; fout<<'\n'; fout<<n/2<<'\n'; //n/4*2 for(i=2;i+1<=n;i+=4) fout<<i<<' '<<i+1<<' '; fout<<'\n'; } else if(n%4==1) { fout<<"1\n"; fout<<n/2+1<<'\n'; fout<<"1 "; for(i=2;i+3<=n;i+=4) fout<<i<<' '<<i+3<<' '; fout<<'\n'; fout<<n/2<<'\n'; for(i=3;i+1<=n;i+=4) fout<<i<<' '<<i+1<<' '; fout<<'\n'; } else if(n%4==2) { fout<<"1\n"; fout<<((n/4)*2)+1<<'\n'; fout<<"1 "; for(i=3;i+3<=n;i+=4) fout<<i<<' '<<i+3<<' '; fout<<'\n'; fout<<(n/4*2)+1<<'\n'; fout<<"2 "; for(i=4;i+1<=n;i+=4) fout<<i<<' '<<i+1<<' '; fout<<'\n'; } else if(n%4==3) { fout<<"0\n"; fout<<(n/4*2)+2<<'\n'; //Pentru n%4==0 folosim 1 si 2 in primul vector si 3 in cel de-al doilea fout<<"1 2 "; for(i=4;i+3<=n;i+=4) fout<<i<<' '<<i+3<<' '; fout<<'\n'; fout<<((n/4)*2)+1<<'\n'; fout<<"3 "; for(i=5;i+1<=n;i+=4) fout<<i<<' '<<i+1<<' '; fout<<'\n'; } //Inchiderea fisierelor de intrare si iesire fin.close(); fout.close(); return 0;}