Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Program wypisujący ciąg n liczb w którym kazda liczba jest rowna poprzedniej podniesionej do kwadratu


Rekomendowane odpowiedzi

Opublikowano
Siemka, potrzebuje pomocy z programem, czy mógłby mi ktoś pomóc jak usprawnić program, lub usunąć błędy?
Siemka, potrzebuje pomocy z programem, czy mógłby mi ktoś pomóc jak usprawnić program, lub usunąć błędy?
[cpp]
//Instrukcje iteracyjne, zadanie numer 15
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    long double a;
    int n;
    cout << "Program wypisuje ciag n liczb w ktorym kazda liczba jest rowna liczbie poprzedniej podniesionej do kwadratu" << endl;
    cout << "Wpisz liczbe a: ";
    //a - liczba ktora wpisuje uzytkownik
    cin >> a;
    cout << "Wpisz ilosc liczb w ciagu: ";
    //n - ilosc liczb w ciagu - liczba rzeczywista
    cin >> n;
    for( int i = 0; i < n; i++ )
    {
        cout << a << "\n";
        a = a * a;
    }
    //Program wypisuje ciag n liczb w ktorym kazda liczba jest rowna liczbie poprzedniej podniesionej do kwadratu
}
//Wykonal Marcin Dunajski
[/cpp]

 

Opublikowano

Coś ci nie działa bo nie rozumiem? Zamiast a = a*a możesz zapisać a*=a

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

Liczby są zapisywane w notacji naukowej, czy jest możliwość aby pokazywały się normalne liczby?

Załóżmy 

a = 2

n = 6

1 - 2

2 - 4

3 - 16

4 - 256 

5 - 65536

6 - 4.29497e+009 

Opublikowano

Chodzi ci o punkt szósty? Zmienna jest mała, daj long long, ale to też może być zbyt małe...

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

musisz je zaokrąglić.

round() i floor()/ceiling() z tego co pamiętam - math.h

Dokładniej jak to zrobić? Nie mam kompletnego pojęcia o C++, jedynie podstawy których nauczylem się w 1 klasie :/

Tak dokładnie chodzi mi o punkt 6 :)

Opublikowano

Zauwaz ,ze co krok liczba a jest podnoszona do poprzedniej potegi x2 (zapewne miales juz potegi ,pierwiastki ,log itp. i kumasz o co biega )
 
1 - a= 21
2 - a= 22*1 = 22 = 4
3 - a= 22*2 = 24 = 16
4 - a= 22*4 = 28 = 256
5 - a= 22*8 = 216 = 65536
6 - a= 22*16 = 232 = 4294967296
 
 
Dlatego mozesz zamiast liczenia za kazdym razem w petli a*=a wykorzystac funkcje pow i skorzystac z tego co Ci nizej napisalem
 
  a2*2n-2  , dla n>1

 

@ EDIT Doczytalem teraz ,ze program ma wypisywac te liczby (myslalem ,ze ma wyswietlic ostatnia)  nie musisz z tego korzystac ,')

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...