👤

Problema 16 și 17.Va rog mult!!!..........
Vreau sa fie rezolvate in limbaj pseudocod,dar și in C++.


Problema 16 Și 17Va Rog MultVreau Sa Fie Rezolvate In Limbaj Pseudocoddar Și In C class=

Răspuns :

Răspuns:

Exercitiul 16:

#include <iostream>

using namespace std;

int main()

{

   unsigned int n, produs=1, copie=0;

   cin>>n;

   copie=n;

   while(copie!=0)

   {

       if((copie%10)>0)

            produs=produs*(copie%10);

       copie=copie/10;

   }

   cout<<"Restul este: "<<n%produs<<endl;

   cout<<"Catul este: "<<n/produs;

}

--------------------------------------------------------------------------------------------------------

Exercitiul 17

#include <iostream>

using namespace std;

int main()

{

   unsigned int n, produs=1, copie=0, suma=0, i=0;

   cin>>n;

   copie=n;

   while(copie!=0)

   {

       if(i%2==0)

           produs=produs*(copie%10);

       else

           if(i%2==1)

               suma=suma+(copie%10);

       i++;

       copie=copie/10;

   }

   cout<<produs/suma;

}

Explicație:

  • Cum se află cifrele unui număr?

Pentru a afla cifrele unui număr vom trunchia numărul de la coadă la cap ( numar % 10 ) astfel încât vom afla care este ultima cifră a numărului, și implicit care sunt cifrele care compun numărul.

ex: pentru n=56327

Prin trunchiere de la coada la cap vom avea urmatoarele cifre: 7 2 3 6 5

Acestea fiind spuse, am aflat cifrele numarului 56327

  • Ce înseamnă număr % 10?

Vezi aici răspunsul pe larg: https://brainly.ro/tema/5236863

  • Cum arată algoritmul de cifre și cum rulează el?

int cifra=0;

cin>>numar;

while(numar!=0)

{

      cifra=numar%10;

      /*algoritm posibil si optional pentru prelucrarea cifrelor.. De exemplu afisam fiecare cifra:*/

      cout<<cifra<<" ";

      numar=numar/10;

}

Ei bine, dupa ce ai inteles cum functioneaza DIV si MOD ( / si % ), cat timp exista inca cel putin o cifra din numarul initial, variabila cifra v-a memora ultima cifra a variabilei numar dupa care trunchiem variabila numar ( eliminam ultiam cifra ) astfel incat sa aflam si restul cifrelor.

ATENTIE!

NU este obligatoriu sa punem o variabila care sa primeasca ultima cifra. Putem folosi direct numar%10 pentru determinarea cifrelor.

Deci, numar%10 face acelasi lucru cu cifra=numar%10.

EX:

if(numar%10==2)

este acelasi lucru cu

cifra=numar%10;

if(cifra==2)

PSEUDOCOD:

Ex 16:

citeste n ( n numar natural )

produs<- 1

copie<- n

cat timp copie <> 0 executa

    daca (copie MOD 10) > 0 atunci

             produs<- produs * (copie MOD 10)

    sfarsit daca

   

    copie<- copie DIV 10

sfarsit cat timp

scrie "Restul este: ", n MOD produs

scrie "Catul este: ", n DIV produs

Ex 17:

citeste n ( n numar natural )

produs<- 1

copie<- n

suma<- 0

i<- 0

cat timp copie <> 0 executa

    daca i MOD 2 = 0 atunci

             produs<-produs * (copie MOD 10);

    altfel

             suma<-suma + (copie MOD 10);

   

    sfarsit daca

    i<-i+1;

    copie<- copie DIV 10

sfarsit cat timp

scrie produs DIV suma