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

Buna ! Imi zice cineva dc iau 20 de puncte ?

#include

#include

using namespace std;


int main()

{

double L; // am pus si long long int

cin >> L ;

cout << 6*pow(L,2)<<" " <
return 0;

}

cerinta => https://www.pbinfo.ro/?pagina=probleme&id=182


CinevaFaraNume: cout << 6*pow(L,2)<<" " <
nu e complet aici

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

Nu e permis sa folosesti double la asa ceva: incearca sa ii dai algoritmului tau L=1000 si vezi ca o sa scrie numarul cu notatia stiintifica (6e+06 respectiv 1e+09).

Si daca puterea e constanta si mica nu mai ai nevoie de functia pow.

(pow returneaza double, asa ca o sa afiseze iar notatia stiintifica pentru un numar >= 10^6)

#include <iostream>

using namespace std;

int main(){

int l;

   cin >> l;

   cout << 6 * l * l << ' ' << l * l * l;

}


niorbaana: Ms pt ajutor ! Mai am o intrebare daca vrei sa ma ajuti .. o sa o postez ca sa iei punctele :)
Răspuns de xmrkertesx
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

long long L;

cin>>L;

cout<<L*L*6<<" "<<L*L*L;

return 0;

}

Explicație:

Nu prea e indicat sa folosesti pow() cateodata iti va da alt rezultat de exemplu 2e+69 pt

nr >1000000000000000000000000000000

Mai bine faci o functie

int poww(int dw,int up)

{

   int p=1;

   for(int i=1;i<=up;i++)

       p*=dw;

   return p;

}


niorbaana: Mersii
CinevaFaraNume: Pow nu da rezultate in scriere stiintifica, dar asa apar daca nu folosim fixed.
CinevaFaraNume: Pow returneaza o valoare, nu un string. interpretarea acestei valori se face la afisare.pentru numere cu exponentul lui 10 > 6 sau < -6 se scriu sub forma stiintifica din default
Alte întrebări interesante