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

Va rog mult!!!
Sa se calculeze 2^n, pentru valori mari ale lui n.
Ex : 2^100=1267650600228229401496703205376, adica 31 de cifre.


boiustef: simpatica problema ...
infomatrix: ma puteti ajuta??
boiustef: incercam acum..
boiustef: 2^100 are 31 cifre... eu am rezervat pentru 500 de cifre...
infomatrix: zice pentru numere mari,deci e bun
boiustef: daca doresti mai mare, maresti dimensiunea vectorului

Răspunsuri la întrebare

Răspuns de whow
0

Răspuns:

#include <iostream>

#include<math.h>

using namespace std;

int main()

{

int n,t;

cin>>n;

cout<<"2^"<<n<<"="<<pow(2,n);

return 0;

}

bafta :P

Anexe:

whow: nu baga in seama pe t l-am scris din gresala
whow: bafta
infomatrix: ideea problemei era sa nu folosesc functii predefinite,oricum asta e o aproximare,cred ca trb facut cu operatii pt numere mari
whow: pai il bagi intr-un loop sa repete de n ori
whow: imd
boiustef: da, nu e bn..
whow: sa-l pui intr-un loop
whow: https://pastebin.com/SXnQNPLp
whow: mi-a luat cv :P
Răspuns de boiustef
0

Răspuns:

#include <iostream>

using namespace std;

short v[500],n,i,j,t,nrcif,a;

int main()

{

   cin >> n;

   v[0]=1; nrcif=1;

   for (i=0; i<n; i++)

   {

       t=0;

       for (j=0; j<nrcif; j++)

       {

           a= v[j]*2+t;

           t=a/10;

           v[j]=a%10;

       }

       if (t) { v[nrcif]=t; ++nrcif; }

   }

   for (i=nrcif-1; i>=0; i--)

       cout << v[i];

   return 0;

}

Explicație:


infomatrix: multumesc mult!
boiustef: cu placere, succese!
Alte întrebări interesante