Un număr este de tip “munte” dacă cifrele sale formează inițial un șir strict crescător, apoi un șir strict descrescător.
Cerinţa
Se dau n
numere naturale. Determinați, pentru fiecare dintre ele, dacă este de tip “munte”.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale, separate prin spații.
Date de ieşire
Programul afișează pentru fiecare dintre cele n
numere citite, pe câte o linie a ecranului valoarea 1
, dacă numărul corespunzător este de tip “munte”, respectiv valoarea 0
în caz contrar.
Restricţii şi precizări
1 ≤ n ≤ 10
- cele
n
numere citite vor fi mai mici decât2.000.000.000
- cele
n
numere citite vor fi mai mari decât100
Exemplu
Intrare
4 15965 156 121 753
Ieșire
1 0 1 0
#include <bits/stdc++.h> using namespace std; int a[15] , n , maxi , nr , i , x , y, j , m , ok , imax; int main() { cin >> n; for(i = 1 ; i <= n ; ++i) { cin >> x; j = 0; maxi = 0; while(x > 0) { ++j; a[j] = x % 10; if(a[j] > maxi) {maxi = a[j]; imax=j;} x = x / 10; } m = 1; if(imax == 1 || imax == j) cout << "0" << endl; else { while(m < imax) { if(a[m] < a[m+1]) ok = 1; else { ok = 0; break; } ++m; } if(ok == 0) cout << "0" << endl; else { m = imax; while(m >= imax && m < j) { if(a[m] > a[m+1]) ok = 1; else { ok = 0; break; } ++m; } if(ok == 0) cout << "0" << endl; else cout << "1" << endl; } for(x = 1 ; x <= 15 ; ++x) a[x] = 0; } } return 0; }