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

cifre004 :Problema 2223 de pe pbinfo

Cerința Se dă n număr natural. Aflaţi cel mai mare număr natural care are numărul de cifre şi suma cifrelor egale cu suma cifrelor lui n. Date de intrare Programul citește de la tastatură numărul n. Date de ieșire Programul va afișa pe ecran cel mai mare număr natural care are numărul de cifre şi suma cifrelor egale cu suma cifrelor lui n. Restricții și precizări 1 ≤ n ≤ 2.000.000.000

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

using namespace std;

int main()

{

   int n,  cif, sumacifn=0, n9, r9, i, j;

   char num[91];

   cin >> n;

   int copie=n;

   while (copie) {  cif=copie%10; copie/=10; sumacifn+=cif; }

   n9=sumacifn/9; r9=sumacifn%9;

  int numar [91];

  for (j=1; j<=n9; ++j) numar[j]=9;

  if (n9==0) { j=1; numar[j]=r9; }

  else {  numar[j]=r9; }

  for (i=j+1; i<=sumacifn; ++i)  numar[i]=0;

   for (i=1; i<=sumacifn; ++i)

   {

       num[i]=numar[i]+'0';

   }

   for (i=1; i<=sumacifn; ++i) cout << num[i];

    cout << "\n";

   return 0;

}

Alte întrebări interesante