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

Se dau 2 numere naturale a b, a < b. Determinați câte numere din intervalul [a,b] au cifrele în ordine crescătoare.

Răspunsuri la întrebare

Răspuns de chetreanandrei
0

Răspuns:

#include <iostream>

using namespace std;

int cresc(int n){

   int max = n % 10;

   int f = 1;

   n /= 10;

   while (n) {

       int c = n % 10;

       if (c >= max) {

           f = 0;

           break;

       }    

       else {

           max = c;

           n /= 10;

       }

   }

   if (f == 1)

       return 1;

   return 0;

}

int main(){

   int a, b;

   int k = 0;

   cout << "a=";

       cin >> a;

   cout << "b=";

       cin >> b;

   cout << "Numere cu cifrele crescatoare din intervaul [" << a << ',' << b << "]:\n";

   for (int i = a;i < b; i++){

       if ( cresc(i) ){

           cout << i << ' ';

           k++;

       }    

   }

   cout << endl << "In intervalul [" << a << ',' << b << "] " << k << " numere au cifrele in ordine crescatoare.";

   cout << endl;

   return 0;

}

Explicație:


danielchisalita89: Multumesc!
Alte întrebări interesante