Informatică, întrebare adresată de paulatasbirec23, 8 ani în urmă

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

Anexe:

Răspunsuri la întrebare

Răspuns de andriesboss92
1

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


paulatasbirec23: Ce înseamnă ,,copie”?
andriesboss92: "copie" este o variabila care primeste valoarea numarului căruia vrem să îi aflăm cifrele fără a modifica numărul inițial, adică creăm o copie a numărului deoarece, după cum se poate observa în algoritmul de cifre, numarul este truchiat, iar eu vreau sa pastrez numarul initial si sa aflu in acelasi timp si cifrele sale. Prin urmare voi face o copie a numarului. Această variabilă poate fi înlocuită cu orice altă denumire, atâta timp cât știi la ce o folosești.
Alte întrebări interesante