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

Se consideră trei numere întregi. Să se scrie un program care
calculează rădăcina de ordinul 3 a sumei acestor numere dacă
primele două numere sunt nenule, în caz contrar să se
mărească de 3 ori suma lor.Program C/C++

Răspunsuri la întrebare

Răspuns de andrei750238
2

Raspuns :

#include <iostream>

#include <cmath>

using namespace std;

int main(){

int a,b,c;

cin >> a >> b >> c;

if(a*b!=0) cout << pow((a+b+c),1.0/3);

else cout << a+b+c+3;

}

Explicatie :

\sqrt[3]{a+b+c} = (a+b+c)^{\frac{1}{3} }

Daca doua numere sunt nenule atunci produsul lor va fi diferit de 0

Folosim 1.0/3 in loc de 1/3 pentru a forta rezultatul sa fie de tip numar real.


lucaciucandrei: as fi vrut sa vad fara pow
andrei750238: Folosim functia cbrt din biblioteca cmath si inlocuim astfel pow((a+b+c),1.0/3) cu cbrt(a+b+c);
andrei750238: Dar pow e o unealta mult mai robusta care ne permite calcularea oricarui radical de orice ordin (cu poate mai putina precizie decat o functie specializata).
lucaciucandrei: mi-ar fi placut s-o faci fara functii na, exprimare gresita :))))
andrei750238: cbrt si pow sunt functii... din biblioteca cmath.
Nu sunt definite de utilizator dar asta e partea a doua :))
andrei750238: La cat de lejera e problema ma indoiesc ca baiatul care a pus intrebarea a ajuns la functii definite de utilizator. Nu sunt sigur ca ar fi apreciat (si inteles) o astfel de rezolvare
lucaciucandrei: stoi mai andrei, era o glumitza :(
lucaciucandrei: stiu*
Alte întrebări interesante