online: 1; azi: 1431; total: 51886 Manual clasa a ix a - Implementarea algoritmilor - Instructiuni de control

Probleme Rezolvate



Manual clasa a IX a

Implementarea algoritmilor

Instructiuni de control

Să se găsească cel mai mic număr natural nenul care poate fi descompus în sumă de cuburi a două numere naturale , în cel puţin două moduri distincte .
# include < iostream >
# include < unordered_set >
# include < cmath >
using namespace std ;
int main () {
int n = 1 ;
unordered_set < int > cubes ;
while ( true ) {
bool found = false ;
for ( int a = 1 ; a * a * a < n; a++) {
for ( int b = a; a * a * a + b * b * b <= n; b++) {
int sum = a * a * a + b * b * b;
if ( cubes. count ( sum ) > 0 ) {
found = true ;
break ;
}
cubes. insert ( sum );
}
if ( found ) {
break ;
}
}
if ( found ) {
cout << n << endl ;
break ;
}
n++;
}
return 0 ;
}

Pentru a găsi cel mai mic număr natural nenul care poate fi descompus în sumă de cuburi a două numere naturale, în cel puţin două moduri distincte, putem parcurge numerele naturale până găsim un astfel de număr. Pentru fiecare număr natural nenul, vom verifica dacă se poate descompune în sumă de cuburi a două numere naturale, în cel puţin două moduri distincte.
Pentru a verifica dacă un număr poate fi descompus în sumă de cuburi a două numere naturale, putem folosi o metodă similară cu cea descrisă în problema 25, dar în loc să afişăm toate modurile de descompunere, vom verifica dacă există două moduri distincte de descompunere.
Pentru a verifica dacă există două moduri distincte de descompunere, vom folosi două bucle for pentru a genera toate perechile de numere naturale (a, b) astfel încât a³+b³ să fie mai mic sau egal cu numărul pe care îl verificăm. Dacă găsim două perechi de numere distincte care dau același rezultat, atunci am găsit două moduri distincte de descompunere și putem afișa numărul respectiv.
Acest program va afișa cel mai mic număr natural nenul care poate fi descompus în sumă de cuburi a două numere naturale, în cel puțin două moduri distincte.