👤

Se citesc N numere. Cu cati de zero se termina produsul lor (fara a determina produsul).
Care este ultima cifra a sumei lor (fara a calcula suma)


Răspuns :

Prima problema:

#include<bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

int cnt=0,cnt2=0;

for(int i=1;i<=n;++i){

     int x;cin>>x;

    while(x%5==0)++cnt,x/=5;

    while(x%2==0)++cnt2,x/=2;  

}

cout<<min(cnt,cnt2)<<'\n';

return 0;

}

Algoritmul se bazeaza pe ideea ca numarul de zerouri de la finalul inmultirii este egal cu numarul de numere egale cu 10 inmultite in numar. Cum 10 se descompune in 2*5 trebuie sa aflam de cate ori se gaseste 2 in factorizare si de cate ori se gaseste 5. Astfel, minimul dintre cele doua valori va fi numarul de 10 din factorizare, respectiv numarul de zerouri de la finalul inmultirii!

Problema 2:

  #include<bits/stdc++.h>

  using namespace std;

  int main(){

 int n,cnt=0;

 cin>>n;

 for(int i=1;i<=n;++i){

       int x;cin>>x;

       x%=10;

       cnt+=x;cnt%=10;

 }

cout<<cnt<<'\n'

return 0;

}

Algoritmul se bazeaza pe ideea ca trebuie sa mentinem doar ultima cifra a fiecarui numar si mereu sa updatam variabilele in functie de asta!

Sper ca te-am ajutat, Bafta!  FORTA HXO!