Răspuns :
Răspuns:
a.
#include<iostream>
using namespace std;
int suma_cifre(int x)
{
int s=0;
while(x)
{
s=s+x%10;
x=x/10;
}
return s;
}
int main()
{
int n;
cin>>n;
int x;
int nr=0;
for(int i=1;i<=n;i++)
{
cin>>x;
if(suma_cifre(x)%3==0) nr++;
}
cout<<nr;
return 0;
}
b.
#include<iostream>
using namespace std;
int prim(int x)
{
if(x==0 || x==1 ) return 0;
for(int i=2; i*i<=x;i++)
{
if( x%i==0) return 0;
}
return 1;
int main()
{
int n ;
cin>>n;
int x;
int nr=0;
for(int i=1;i<=n;i++)
{ cin>>x;
if(prim(x)==1) nr++;
}
cout<<nr;
return 0;
}
c.
#include<iostream>
using namespace std;
int eliminare_nrpare(int x)
{
int p=1;
int raspuns=0;
while(x)
{
if((x%10)%2==1)
{
raspuns=raspuns+p*(x%10);
p=p*10;
}
x=x/10;
}
return raspuns;
}
int main()
{
int n;
cin>>n;
int x;
for(int i=1;i<=n;i++)
{
cin>>x;
cout<<eliminare_nrpare(x)<<" ";
}
return 0;
}
d. a: 4
b 3
c 13 93 3 0 7 9 19 71 3 0
Explicațied:
a. subalgoritm pt suma de cifre, apoi verific suma fiecarui numar , in caz ca e divizibila cu 3 , plusez nr de aparitii si la final il scriu
b. la fel, subalgoritm de verificat nr prime
c. ei aici e o mica smecherie, verific daca cifra este impar, in caz ca este impara, o inmultesc cu un scalar p( care la inceput e 1) si il adun la un rezultat care initial e 0, dupa , scalarul p il inmultesc cu 10. Daca se mai gaseste o cifra impara din nou il inmultesc cu p, si il adun in rezultat, iar scalarul in inmultesc din nou cu 10.Astfel, un ex ar fi nr 4325. il gasesc pe 5, rezultat=0+5*1, apoi, il gasesc pe 3, rezultat=5+3*10 adica 35.
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!