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

sa se scrie un program care citeste un nr natur n si afișează divizorul propriu cu suma cifrelor cea mai mare​

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

int SumaCif(int m)

{

   int s=0;

   while (m)

   {

       s=s+m%10;

       m=m/10;

   }

   return s;

}

int n, smax, num;

int main()

{

   cin >> n;

   int d=2, sc;

   for (int d=2; d*d<n; ++d)

   {

       if (n%d==0)

       {

           sc=SumaCif(d);

           if (sc>smax) { smax=sc; num=d; }

            sc=SumaCif(n/d);

           if (sc>smax) { smax=sc; num=n/d; }

       }

   }

   if (d*d==n)

   {

       sc=SumaCif(d);

       if (sc>smax) { smax=sc; num=d; }

   }

   cout << num;

}

Explicație:

Paşte fericit!

am vrut ca astăzi să postez cel mai eficient algoritm...


alinamnt: Mulțumesc din suflet! Paște fericit și ție!
Alte întrebări interesante