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

Se citesc două numere naturale n și s (n <=10, s<=20). Afișați în ordine crescătoare
toate numerele cu n cifre distincte care au suma cifrelor egală cu s. Dacă problema nu are soluție, se va afișa mesajul NU EXISTA.

Răspunsuri la întrebare

Răspuns de thechi1705
1

#include <iostream>

using namespace std;

int main()

{

   int n, s, f=0, d=1;

   cin>>n>>s;

   while(n-1){

       d*=10;

       n--;

   }

   for(int i=d;i<d*10;i++){

       int suma_cifrelor = 0;

       int n_copy = i;

       while(n_copy){

           suma_cifrelor += n_copy % 10;

           n_copy /= 10;

       }

       if(suma_cifrelor == s){

           cout<<i<<" ";

           f++;

       }

   }

   if(f==0) cout<<"NU EXISTA";

}

Alte întrebări interesante