Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] kolejne potęgi dwójki mniejsze od n

Ostatnio zmodyfikowano 2016-01-09 20:35
Autor Wiadomość
mateczek
» 2016-01-09 18:27:19
daj przynajmniej link do zadania !!! pełny opis !!! bo inaczej skąd ktoś ma się wiedzieć w jakim formacie ma ją być dane wyjściowe?? w zgadywanik można się bawić jeszcze rok a w zadaniu pewnie wszystko pisze !!!
Więc albo link albo http://wrozbita-maciej.pl/ :P
P-143191
Eryk17
Temat założony przez niniejszego użytkownika
» 2016-01-09 18:29:57
link:
http://main2.edu.pl/c/konkurs-wstepu-do-programowania/p/pot/
gdyby nie dało się go otworzyc:
Napisz program, który wypisze, w kolejności rosnącej, wszystkie potęgi dwójki nie większe od danej liczby
naturalnej n.
Wejście
Wejście zawiera jedną liczbę naturalną n (1 ≤ n ≤ 1 000 000 000).
Wyjście
W kolejnych wierszach wyjścia Twój program powinien wypisać kolejne potęgi liczby 2 nie większe od n
(o wykładnikach całkowitych nieujemnych), w porządku rosnącym.
Przykład
Dla danych wejściowych:
10
poprawnym wynikiem jest:
1
2
4
8
P-143192
carlosmay
» 2016-01-09 18:40:31
Użyj manipulatora std::fixed oraz std::setprecision() z ustawioną precyzją na 0.
Zalogowałem się na mainie i wyszło mi bez błędów.

Dane wyjściowe muszą być dokładnie jak na przykładzie.
Nawet z notacją naukową zadanie jest zaliczne (jedynie przy kilku wynikach jest błąd).
P-143197
mateczek
» 2016-01-09 18:42:17
P-143198
Eryk17
Temat założony przez niniejszego użytkownika
» 2016-01-09 19:40:58
Dobra, działa. Wszystkim dziękuję za pomoc.
P-143206
mateczek
» 2016-01-09 20:08:39
Błąd był w temacie :P !!!
Zamiast "kolejne potęgi dwójki mniejsze od n". powinno być "kolejne potęgi dwójki mniejsze równe od n"  :P (w zadaniu stoi nie większe od n)!!!!

ale skoro już klepnąłem programik to się podzielę :P

C/C++
#include <iostream>
using namespace std;

int main() {
   
    long long pot = 1;
    long long max;
    cin >> max;
    while( 1 ) {
        cout << pot << endl;
        pot = pot << 1;
        if( pot > max ) break;
       
    }
}
P-143208
Gibas11
» 2016-01-09 20:35:44
Przekombinowane, ja zrobiłem to tak:
C/C++
#include <iostream>
using namespace std;

int main()
{
    unsigned int n;
    cin >> n;
   
    for( unsigned long long i = 1; i <= n; i *= 2 )
         cout << i << endl;
   
    return 0;
}
Pętle for serio ułatwiają życie, czemu by z nich nie korzystać?

EDIT: Dałem normalniejsze typy, nie wszyscy lubią rzeczy typu uint64_t. :\
EDIT2: Zamiast *= 2 może być <<= 1, ale większość kompilatorów powinna sprowadzić to do tego samego w ramach optymalizacji.
P-143212
1 2 « 3 »
Poprzednia strona Strona 3 z 3