👤

S-a notat cu x%y restul împărţirii numărului
natural x la numărul natural nenul y şi cu [z]
partea întreagă a numărului real z.
a) Scrieţi numărul afişat dacă pentru variabila
n se citeşte valoarea 56413.
b) Scrieţi toate numerele naturale, fiecare
având exact patru cifre, care pot fi citite
pentru variabila n astfel încât, în urma
executării algoritmului, pentru fiecare dintre
acestea să se afişeze valoarea 40.
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
cât timp...execută cu o structură repetitivă de alt tip.
d) Scrieţi programul C/C++ corespunzător algoritmului dat.


citeşte n (număr natural)
m←0
p←1
┌cât timp n>0 execută
│┌dacă n%2≠0 atunci
││ n←n-1
│└■
│ m←m+(n%10)*p
│ n←[n/10]
│ p←p*10
└■
scrie m


Răspuns :

#include <iostream>
using namespace std;
int main()
{   
setlocale(0,"");   
 int n,m,p;   
 cout <<"Dati numarul n:";   
  cin >> n; 
  p=1; 
  m=0; 
 while (n>0) 
 {   
 if (n % 2==0){ 
   n=n-1;     
 }       
 m=m+(n%10)*p;   
 n=(n/10);
  p=p*10; 
  }    
cout <<"Numarul m:="<< m << endl;   
 system("pause");   
 return 0;
}