Scrieți un program care va găsi toate numerele naturale din trei cifre care sunt egale cu suma cuburilor cifrelor lor. Gama de numere va fi 100 ≤ M ≤ N ≤ 999. Intrarea va fi de două cifre: M și N unde M este cel mai mic număr de 3 cifre și N este cel mai mare număr de 3 cifre.
Exemplu: 100 200
Afisare: 153
Explicarea ieșirii: De exemplu, numărul 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3, prin urmare trebuie trimis.
boiustef:
De ce le zici lui M şi N cifre??? dacă sunt formate fiecare din trei cifre...
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int m,n,a,b,c,num, exista=0;
cin >> m >> n;
cout << "numerele naturale din trei cifre care sunt egale cu suma cuburilor cifrelor lor: ";
for (num=m; num<=n; ++num)
{
a=num/100; c=num%10;
b=(num%100)/10;
if (a*a*a+b*b*b+c*c*c==num)
{ cout << num << " "; exista=1;}
}
if (!exista) cout << "nu exista";
return 0;
}
Explicație:
se ştie că num e format din 3 cifre.
De exemplu fie num=265
a=num/100=265/100=2 (prima ciftă
c=num%10=265%10=5 (a treia sau ultima cifră. )
cu operaţia % se află restul de la împărţirea unui număr la 10
Mai complicat e cu cifra a doua... b=(num%100)/10
cu num%100 se află restul de la împărţirea numărului la 100, de exemplu 265%100=65 (tr. să faci pe foaie împărţirea cu rest)
2^3+6^3+5^3 tr, s[ ne dea 265
programul caut[ aceste numere....
if (a*a*a+b*b*b+c*c*c==num)
Alte întrebări interesante
Latina,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă