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
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