👤

Ofer puncte! Va rog, am nevoie de un raspuns complet cat de rapid!
Precizez ca trebuie sa fie in C++, rezolvata intr-un mod cat mai simplu, fara notatii complexe.


Se dau numerele naturale n și k, unde k este o cifră.

Să se construiasca numarul nr1 cu cifrele lui n care sunt mai mici sau egale decât k.

Daca toate cifrele sunt strict mai mari decat k, sa se afiseze IMPOSIBIL.

ex: n=14326809 si k=6 => nr1=14320


Răspuns :

#include<iostream>

using namespace std;

int n,k,nr1,val=0,t;

int main()

{cin>>n>>k;

while(n>0)

{t=n%10;

if(t<=k) nr1=nr1*10+t;

else val++;

n=n/10;}

if(val==0) cout<<nr1;

else cout<<"IMPOSIBIL";

return 0;

}

Răspuns:

#include <iostream>

using namespace std;

int n,k,a,cif=0,x=0,ogl=0;

int main()

{

   cin>>n>>k;

   while (n>0)

   {

       a=n%10;

       if(a<=k)

           {x=x*10+a;

           cif++;

           n=n/10;}

       else

           n=n/10;

   }

   while(x>0)

   {

       ogl=ogl*10+x%10;

       x=x/10;

   }

   if(cif!=0)

       cout<<ogl;

   else

       cout<<"IMPOSIBIL";

   return 0;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!


Ze Schools: Alte intrebari