Jump to content

Andreigl

VIP
  • Posts

    1959
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Andreigl

  1. Link https://www.pbinfo.ro/?pagina=probleme&id=249 int main() { std::ifstream Read("pozitiex.in"); std::ofstream Write("pozitiex.out"); long long int Numar, arr[10005]; int N, pos = 0; Read >> Numar >> N; for (int i=0; i<N; i++) { Read >> arr[i]; } std::sort(arr, arr+N); for (int i=0; i<N; i++) { if (arr[i] == Numar) { pos = i+1; break; } } if (pos !=0 ) Write << pos; else Write << "NU EXISTA"; Read.close(); Write.close(); return 0; }
  2. Link https://www.pbinfo.ro/?pagina=probleme&id=1550 long long int Factorial(int Numar) { int Multiplier = 1; for (int i=Numar; i>1; i--) Multiplier *= i; return Multiplier; } int main() { int N; long long int Numar; std::cin >> N; int Fact = Factorial(N); for (int i=0; i<N; i++) { std::cin >> Numar; if (Fact % Numar == 0) std::cout << Numar << " "; } return 0; }
  3. Link https://www.pbinfo.ro/?pagina=probleme&id=2375 bool isPalindrom(long long int Numar) { if (Numar < 10) return true; long long int Oglinda = 0, aux; aux = Numar; while (Numar != 0) { Oglinda = Oglinda * 10 + Numar % 10; Numar /= 10; } if (aux == Oglinda) return true; else return false; } int main() { std::ifstream Read("palindromsd.in"); std::ofstream Write("palindromsd.out"); long long int Numar, Array[1005], Oglindit; int size = 0, N = 0; bool Palindrom = false; while (Read >> Numar) { if (isPalindrom(Numar)) { Array[size++] = Numar; Palindrom = true; } } if (Palindrom == false) Write << -1; if ((size+1) % 2 == 0) for (int i=0; i<=size/2; i++) if (i != size/2) Write << Array[i] << " " << Array[size-1-i] << " "; else Write << Array[i]; else for (int i=0; i<size/2; i++) Write << Array[i] << " " << Array[size-1-i] << " "; Read.close(); Write.close(); return 0; }
  4. Link https://www.pbinfo.ro/?pagina=probleme&id=163 bool isPrim(long long int Numar) { if (Numar == 2) return true; if (Numar < 2 or Numar % 2 == 0) return false; for (int i=3; (i*i)<=Numar; i+=2) if (Numar % i == 0) return false; return true; } int main() { int N; std::cin >> N; long long int Array[N]; for (int i=0; i<N; i++) { std::cin >> Array[i]; if (isPrim(Array[i])) Array[i] = -1; if (Array[i] != -1) std::cout << Array[i] << " "; } }
  5. Link https://www.pbinfo.ro/?pagina=probleme&id=2318 int main() { std::ifstream ReadFromFile("conversie_b_10.in"); std::ofstream WriteToFile("conversie_b_10.out"); long long int Numar, Baza, Rest, P = 1, Format = 0; ReadFromFile >> Numar >> Baza; while (Numar != 0) { Rest = Numar % 10; Numar /= 10; Format = Format + Rest * P; P *= Baza; } WriteToFile << Format; ReadFromFile.close(); WriteToFile.close(); }
  6. Link https://www.pbinfo.ro/?pagina=probleme&id=945 int main() { long long int Numar, Baza_1, Baza_2, Ultima_Cifra, Format = 0, P = 1, aux = 0, K = 0; int Vector[100]; std::cin >> Numar >> Baza_1 >> Baza_2; // Trebuie sa convertim numarul din baza B in baza 10 while (Numar != 0) { Ultima_Cifra = Numar % 10; Numar /= 10; Format = Format + Ultima_Cifra * P; P *= Baza_1; } // Convertim din baza 10 in Baza_2 while (Format != 0) { Ultima_Cifra = Format % Baza_2; Format /= Baza_2; Vector[K++] = Ultima_Cifra; } for (int i=K-1; i>=0; i--) std::cout << Vector[i]; return 0; }
  7. Link https://www.pbinfo.ro/?pagina=probleme&id=509 void swap(long long int *x, long long int *y) { long long int temp = *x; *x = *y; *y = temp; } void insertionSort(long long int array[], int size) { for (int i=0; i<size; i++) { int aux = i; while (aux > 0 and array[aux-1] > array[aux]) { swap (&array[aux-1], &array[aux]); aux--; } } } int main() { int size; long long int array[1005]; scanf ("%d", &size); for (int i=0; i<size; i++) scanf("%lli", &array[i]); insertionSort(array, size); for (int i=0; i<size; i++) printf("%d ", array[i]); }
  8. Link problemă https://www.pbinfo.ro/?pagina=probleme&id=618 int main() { int N; scanf("%d", &N); int array[N], vector[N]; for (int i=0; i<N; i++) { scanf("%d", &array[i]); vector[i] = array[i]; } std::sort(array, array+N); for (int i=0; i<N; i++) { for(int j=0; j<N; j++) if (array[i] == vector[j]) printf("%d ", j+1); } return 0; }
  9. Link https://www.pbinfo.ro/?pagina=probleme&id=3017 void binoct(long long int Numar, int Divide) { int array[1005], size = 0; while (Numar != 0) { array[size++] = Numar % Divide; Numar /= Divide; } for (int i=(size-1); i>=0; i--) printf("%d", array[i]); } void hex(long long int Numar) { char caracters[100]; int size = 0, Rest; while (Numar != 0) { Rest = Numar % 16; Numar /= 16; if (Rest <= 9) caracters[size++] = (char)(Rest + 48); else caracters[size++] = (char)(Rest + 55); } for (int i=(size-1); i>=0; i--) printf("%c", caracters[i]); } int main() { char C; scanf("%s", &C); long long int N; scanf("%lli", &N); if (C == 'b') binoct(N, 2); else if (C == 'o') binoct(N, 8); else hex(N); return 0; }
  10. Link problemă https://www.pbinfo.ro/?pagina=probleme&id=1574 int main() { int a,b; long long int suma_1, suma_2; suma_1 = suma_2 = 0; scanf("%d %d", &a, &b); for(int i=1; (i*i)<=a; i++) { if (a % i == 0) { suma_1 += i; if ((i*i) < a) suma_1 += (a/i); } } if (b != (suma_1-a)) { printf("NU SUNT PRIETENE"); return 0; } for(int i=1; (i*i)<=b; i++) { if (b % i == 0) { suma_2 += i; if ((i*i) < b) suma_2 += (b/i); } } if (a != (suma_2-b)) { printf("NU SUNT PRIETENE"); return 0; } printf("PRIETENE"); return 0; }
  11. Link problemă https://www.pbinfo.ro/?pagina=probleme&id=408 long long int Oglindit(long long int Numar) { long long int Oglinda = 0; int LastCif; while (Numar != 0) { LastCif = Numar % 10; Numar /= 10; Oglinda = Oglinda * 10 + LastCif; } return Oglinda; } int NrDivizori(long long int Oglindit) { int K = 0; while (Oglindit % 2 == 0) { K++; Oglindit /= 2; } int Count = (K + 1); for (int i=3; (i*i)<=Oglindit; i+=2) { K = 0; while (Oglindit % i == 0) { K++; Oglindit /= i; } Count *= (K + 1); } if (Oglindit > 1) Count *= 2; return Count; } int main() { long long int Numar; scanf("%lli", &Numar); long long int ret = Oglindit(Numar); printf("%d", NrDivizori(ret)); }
  12. Link problemă https://www.pbinfo.ro/?pagina=probleme&id=245 int NrDivizori(int Numar) { int K = 0; while (Numar % 2 == 0) { K++; Numar /= 2; } int Count = (K + 1); for(int i=3; (i*i)<=Numar; i+=2) { K = 0; while (Numar % i == 0) { K++; Numar /= i; } Count *= (K + 1); } if (Numar > 1) Count *= 2; return Count; } int main() { int a, NrMax = 0, Numar = 0; scanf("%d", &a); for(int i=1; i<=a; i++) { int ret = NrDivizori(i); if(ret > NrMax) { Numar = 0; NrMax = ret; if (Numar < i) Numar = i; } } printf("%d", Numar); return 0; }
  13. Link problemă https://www.pbinfo.ro/?pagina=probleme&id=2745 int NrDivizori(long long int Numar) { int K = 0; while (Numar % 2 == 0) { K++; Numar /= 2; } int Count = (K + 1); for(int i=3; (i*i)<=Numar; i+=2) { int K = 0; while(Numar % i == 0) { K++; Numar /= i; } Count *= (K + 1); } if (Numar > 1) Count *= 2; return Count; } int main() { int n,t,p; long long int array[10], Minim = 39e+64, Maxim = 0, Suma = 0; scanf("%d %d %d", &n, &t, &p); if (t == 1) { for(int i=0; i<n; i++) { scanf("%lli", &array[i]); Suma += array[i]; if (array[i] < Minim and i < p) Minim = array[i]; } int SumCif = 0; while(Minim != 0) { SumCif += (Minim % 10); Minim /= 10; } printf("%d\n%lli", SumCif, Suma); } else { for(int i=0; i<n; i++) { scanf("%lli", &array[i]); Suma += array[i]; if(array[i] > Maxim and i < p) Maxim = array[i]; } printf("%d\n%lli", NrDivizori(Maxim), Suma); } return 0; }
  14. Link problemă https://www.pbinfo.ro/?pagina=probleme&id=2979 int main() { ifstream Read ("cartele.in"); ofstream Write ("cartele.out"); long long int C, N, Ora, Min, Sec, BaietiInScoala = 0, FeteInScoala = 0, arrSize = 0, SecundeInTotal = 0, MinuteInTotal, OreInTotal, Array[10000], SecundeMax[10000]; bool Trp = false, Trp_2 = false; char Sex, InOut; Read >> C; // Conditia Read >> N; // Persoanele ce au intrat/iesit for (int i=0; i<N; i++) { Read >> Sex >> InOut; Read >> Ora >> Min >> Sec; if (Sex == 'b') { if (InOut == 'i') BaietiInScoala++; if (InOut == 'e') BaietiInScoala--; } if (Sex == 'f') { if (InOut == 'i') FeteInScoala++; if (InOut == 'e') FeteInScoala--; } if (BaietiInScoala == FeteInScoala && BaietiInScoala != 0) { Array[0] = Sec; Array[1] = Min; Array[2] = Ora; Trp = true; } else { if (Trp == true) { int OreInTotal = Ora - Array[2]; OreInTotal *= 3600; int Minute_Iesire_Transformare = Min * 60; int Minute_Intrare_Transformare = Array[1] * 60; MinuteInTotal = (Minute_Iesire_Transformare - Minute_Intrare_Transformare); SecundeInTotal += ((Sec - Array[0]) + OreInTotal + MinuteInTotal); Trp = false; } } if (BaietiInScoala % 2 != 0 && Sex == 'b') { //0,1,2 //3,4,5 Array[3] = Sec; Array[4] = Min; Array[5] = Ora; Trp_2 = true; } else { if (Trp_2 && Sex == 'b') { Trp_2 = false; int OreInTotal = Ora - Array[5]; OreInTotal *= 3600; int Minute_Iesire_Transformare = Min * 60; int Minute_Intrare_Transformare = Array[4] * 60; MinuteInTotal = (Minute_Iesire_Transformare - Minute_Intrare_Transformare); SecundeMax[arrSize] = ((Sec - Array[3]) + MinuteInTotal + OreInTotal); arrSize++; } } } sort (SecundeMax, SecundeMax+arrSize, greater <int>()); if (C == 1) Write << BaietiInScoala << " " << FeteInScoala; if (C == 2) Write << SecundeInTotal; if (C == 3) Write << SecundeMax[0]; Read.close(); Write.close(); }
  15. Link problemă https://www.pbinfo.ro/?pagina=probleme&id=1192 void Conditia_1(int Array[], int X, ofstream &WriteToFile) { for (int i=0; i<X; i++) { WriteToFile << Array[i] << " "; } } void Conditia_2(int Array[], int X, ofstream &WriteToFile) { WriteToFile << "\n"; for (int i=0; i<X; i++) { if (i == 0) { WriteToFile << "0" << " "; continue; } if (i == X) { WriteToFile << "0" << " "; break; } if ((float)(Array[i-1] + Array[i+1])/2 == Array[i]) { WriteToFile << "1" << " "; } else { WriteToFile << "0" << " "; } } } void printArray(int Array[], int X, ofstream &WriteToFile, void (*calledFunc)(int [], int, ofstream &)) { return (*calledFunc)(Array, X, WriteToFile); } int main() { ifstream ReadFromFile ("arhitectura2.in"); ofstream WriteToFile ("arhitectura2.out"); int X, Numar; ReadFromFile >> X; int Array[X]; for (int i=0; i<X; i++) { ReadFromFile >> Numar; Array[i] = Numar; } sort (Array, Array+X, greater<int>()); (*printArray)(Array, X, WriteToFile, Conditia_1); (*printArray)(Array, X, WriteToFile, Conditia_2); ReadFromFile.close(); WriteToFile.close(); }
  16. long long int Oglinda(long long int Numar) { long long int Oglindit = 0; while(Numar != 0) { Oglindit = Oglindit * 10 + Numar % 10; Numar /= 10; } return Oglindit; } bool Prime(long long int A, long long int B) { while (B != 0) { int C = A % B; A = B; B = C; } if (A == 1) return true; else return false; } int main() { int N, Perechi = 0; long long int Numar, Oglindit; scanf("%d", &N); for(int i=0; i<N; i++) { scanf("%lli", &Numar); Oglindit = Oglinda(Numar); if (Prime(Numar, Oglindit)) Perechi++; } printf("%d", Perechi); }
  17. Link https://www.pbinfo.ro/?pagina=probleme&id=618 long long int CMMDC(long long int Min, long long int Max) { long long int Rest; while (Max) { Rest = Min % Max; Min = Max; Max = Rest; } return Min; } int main() { int N; long long int Numar, Min = 39e69, Max = 0, Impartitor; if(scanf("%d", &N)); for(int i=0; i<N; i++) { if(scanf("%lli", &Numar)); if(Numar > Max) Max = Numar; if (Numar < Min) Min = Numar; } do { Impartitor = CMMDC(Min, Max); Min /= Impartitor; Max /= Impartitor; } while (Impartitor != 1); printf("%lli/%lli", Min, Max); }
  18. long long int CMMDC(long long int A, long long int B) { long long int Rest; while (B != 0) { Rest = A % B; A = B; B = Rest; } return A; } int main() { long long int Numar, aux; int Cifre = 0; if(scanf("%lld", &Numar)) aux = Numar; while(Numar != 0) { Cifre++; Numar /= 10; } int _number_1[15], _number_2[2]; long long int _format_1, _format_2; _format_1 = _format_2 = 0; for(int i=0; i<(Cifre/2); i++) { _number_1[i] = aux % 10; aux /= 10; } for(int i=(Cifre/2)-1; i>=0; i--) _format_1 = _format_1 * 10 + _number_1[i]; if((Cifre % 2) != 0) { aux /= 10; printf("%lli", CMMDC(_format_1, aux)); } else printf("%lli", CMMDC(_format_1, aux)); return 0; } Link: https://www.pbinfo.ro/probleme/410/cmmdc2
  19. int CMMDC(int A, int B) { int Rest; while (B != 0) { Rest = A % B; A = B; B = Rest; } return A; } int main() { int _N1, _N2, _N3, _N4; int _aux_1, _aux_2, _aux_3, _aux_4; if(scanf("%d %d %d %d", &_N1, &_N2, &_N3, &_N4)); _aux_1 = _N1; _aux_2 = _N2; _aux_3 = _N3; _aux_4 = _N4; if (_N2 != _N4) { _N1 *= _N4; _N3 *= _N2; _N2 *= _N4; } _N1 += _N3; int Impartitor; do { Impartitor = CMMDC(_N1, _N2); _N1 /= Impartitor; _N2 /= Impartitor; } while(Impartitor != 1); printf("%d %d", _N1, _N2); _aux_1 *= _aux_3; _aux_2 *= _aux_4; do { Impartitor = CMMDC(_aux_1, _aux_2); _aux_1 /= Impartitor; _aux_2 /= Impartitor; } while(Impartitor != 1); printf("\n%d %d", _aux_1, _aux_2); } Link: https://www.pbinfo.ro/probleme/390/spfractii
  20. long long int CMMDC(long long int A, long long int B) { long long int Rest; while (B != 0) { Rest = A % B; A = B; B = Rest; } return A; } int main() { int N; if(scanf("%d", &N)); long long int _Numar[1005]; for(int i=0; i<N; i++) if(scanf("%lld", &_Numar[i])); long long int Impartitor; if (N >= 2) { Impartitor = CMMDC(_Numar[0], _Numar[1]); for(int i=2; i<N; i++) Impartitor = CMMDC(Impartitor, _Numar[i]); } printf("%lld", Impartitor); } Link: https://www.pbinfo.ro/probleme/305/cmmdcn
  21. bool Prime(int Numar) { if(Numar == 2) return true; if(Numar < 2 or Numar % 2 == 0) return false; for(int i=3; (i*i)<=Numar; i+=2) if(Numar % i == 0) return false; return true; } int main() { long long int Numar; if(scanf("%lld", &Numar)); for(;;) { Numar++; if(Prime(Numar)) break; } printf("%lld", Numar); return 0; } Link: https://www.pbinfo.ro/probleme/375/urmatorul-prim
  22. bool Prime(int Numar) { if(Numar == 2) return true; if(Numar < 2 or Numar % 2 == 0) return false; for(int i=3; (i*i)<=Numar; i+=2) if(Numar % i == 0) return false; return true; } int main() { int A, B, Perechi = 0; if(scanf("%d %d", &A, &B)); if(A > B) { for(int i=B; i<=A; i++) if(Prime(i)) Perechi++; } else for(int i=A; i<=B; i++) if(Prime(i)) Perechi++; printf("%d", Perechi); return 0; } Link: https://www.pbinfo.ro/probleme/44/primeinterval
  23. // #include <climits> bool Prime(int Numar) { if(Numar == 2) return true; if(Numar < 2 or Numar % 2 == 0) return false; for(int i=3; (i*i)<=Numar; i+=2) if(Numar % i == 0) return false; return true; } int main() { int N, _Numere_Prime = 0; long long int Numar, min=LLONG_MAX, max=0; if(scanf("%d", &N)); for(int i=0; i<N; i++) { if(scanf("%lld", &Numar)) { if(Prime(Numar)) { _Numere_Prime++; if(Numar > max) max = Numar; if (min > Numar) min = Numar; } } } printf("%d %lld %lld", _Numere_Prime, min, max); return 0; } Link: https://www.pbinfo.ro/probleme/1408/numere10
  24. bool Prime(int Numar) { if(Numar == 2) return true; if(Numar < 2 or Numar % 2 == 0) return false; for(int i=3; (i*i)<=Numar; i+=2) if(Numar % i == 0) return false; return true; } int main() { int N, Aparitie = 0; long long int Numar, max = 0; if(scanf("%d", &N)); for(int i=0; i<N; i++) { if(scanf("%lld", &Numar)) { if(Prime(Numar) and Numar > max) { max = Numar; Aparitie = 0; } if(Numar == max) Aparitie++; } } printf("%lld %d", max, Aparitie); return 0; } Link: https://www.pbinfo.ro/probleme/436/primmaxim
  25. long long int base_convertor(long long int Numar, int Baza) { long long int base = 0, P = 1; int Rest; while(Numar != 0) { Rest = Numar % 10; Numar /= 10; base = base + Rest * P; P *= Baza; } return base; } int main() { int Baza,Cifre,_Cifra; if(scanf("%d %d", &Baza, &Cifre)); long long int Numar = 0; for(int contor=0; contor<Cifre; contor++) { if(scanf("%d", &_Cifra)); Numar = Numar * 10 + _Cifra; } printf("%lld", base_convertor(Numar, Baza)); } Link: https://www.pbinfo.ro/probleme/428/transfb
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.