Problema 16 și 17.Va rog mult!!!..........
Vreau sa fie rezolvate in limbaj pseudocod,dar și in C++.
Răspunsuri la întrebare
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