[C++] Suma potęg liczby 2

xHanSolo
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 14 mar 2015, o 19:43
Płeć: Mężczyzna
Lokalizacja: Lokalizacja

[C++] Suma potęg liczby 2

Post autor: xHanSolo »

Witam

Ten program wypisuje \(\displaystyle{ n}\) potęg liczby 2:

Kod: Zaznacz cały

#include <iostream>
#include <windows.h>
#include <iomanip>
#include <conio.h>

using namespace std;

void err()
{
    cin.clear();
    cin.sync();
    cout<<"Wartosc powinna wynosic od 1 do 100000"<<endl;
    getch();
    system("cls");
}

long double liczby[100000];
int n;

int main()
{

    for(;;)
        {
    cout<<"Ile poteg liczby 2 wyznaczyc?"<<endl;
    cin>>n;

    system("cls");

liczby[0]=1;
liczby[1]=2;

if ((n>0) && (n<=100000))
{

    for (int i=2; i<n; i++)
    {
        liczby[i]=liczby[i-1]*2;
    }

cout<<setprecision(100000);
cout<<"Potegi liczby 2 to:"<<endl<<endl;

    for (int i=0; i<n; i++)
    {
        cout<<liczby[i]<<endl;
    }
    getch();
    system("cls");
}

else
    err();

}

    return 0;
}
Co można do niego dodać, żeby obliczał sumę wszystkich wyświetlonych liczb? Próbowałem już na wiele sposobów i nic z tego nie wychodzi.
Ostatnio zmieniony 14 mar 2015, o 20:23 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
kalwi
Użytkownik
Użytkownik
Posty: 1931
Rejestracja: 29 maja 2009, o 11:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 145 razy
Pomógł: 320 razy

[C++] Suma potęg liczby 2

Post autor: kalwi »

na przykład poprzez dodanie na początku maina linijki

Kod: Zaznacz cały

unsigned long long suma = 0;
i chwilę po wyliczeniu kolejnej liczby

Kod: Zaznacz cały

suma+=liczby[i]
pomijając już fakt, że program jest niezbyt przemyślany i ma sporo błędów założeniowych, ale to swoją drogą.
spartanPAGE
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 5 mar 2015, o 21:49
Płeć: Mężczyzna
Lokalizacja: Bielsko Biała

[C++] Suma potęg liczby 2

Post autor: spartanPAGE »

Ładnie przekombinowane

Kod: Zaznacz cały

#include <iostream>
using namespace std;

int main() {
	size_t count;
	cin >> count;
	uint64_t sum = 0;
	for(uint64_t i = 0; i < count; ++i){
		auto nextPowerOf2 = 2ULL<<i;
		sum += nextPowerOf2;
		cout << nextPowerOf2 << endl;
	}
	cout << sum << endl;
	return 0;
}
ksisquare
Użytkownik
Użytkownik
Posty: 132
Rejestracja: 1 cze 2012, o 07:04
Płeć: Mężczyzna
Lokalizacja: Polska
Pomógł: 15 razy

[C++] Suma potęg liczby 2

Post autor: ksisquare »

Kod: Zaznacz cały

#include <iostream>
#include <stdint.h>
using namespace std;

int main() {
   size_t count;
   cin >> count;
   uint64_t power = 1;
   while(count-->0){
      cout << power << endl;
      power *= 2;
   }
   cout << power-1 << endl;
   return 0;
}
ODPOWIEDZ