👤

Cerința
Se dau numerele naturale n și k, unde k este o cifră. Să se verifice dacă toate cifrele lui n sunt mai mici sau egale decât k. Date de intrare
Programul citește de la tastatură numerele n și k. Date de ieșire
Programul va afișa pe ecran mesajul DA dacă toate cifrele lui n sunt mai mici sau egale decât k, sau mesajul NU dacă există măcar o cifră a lui n strict mai mare decât k. Restricții și precizări
0 ≤ n ≤ 2. 0. 0. 000
0 ≤ k ≤ 9
Exemplul 1:
Intrare

36125 7
Ieșire

DA
Exemplul 2:
Intrare

819 5
Ieșire

NU
;
va rog repede folositi doar while,if si for nimic altceva (pt a primi tot ce trebuie :) ;).


Răspuns :

► COD C++ :


#include <iostream>

using namespace std;

int main() {

int n, k;

cin >> n >> k;

//Presupunem ca toate cifrele sunt mai mici

//Daca ok=1 atunci toate cifrele lui n <= k, daca ok=0 atunci exista cel putin o cifra mai mare decat k

bool ok = 1;

//Verificam fiecare cifra a lui n de la coada daca sunt mai mici decat k

while (n!=0) {

 //Daca cifra curenta > k atunci nu mai e ok

 if (n % 10 > k) ok = 0;

 //Stergem cifra lui n curenta

 n = n / 10;

}

//Afisam rezultatul

if (ok) cout << "DA";

else cout << "NU";

}

Vezi imaginea ANDREI750238