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:
#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: