Informatică, întrebare adresată de porecla7, 9 ani în urmă

Scrieţi programul care citeşte un număr natural n şi afişează puterile lui 2 mai mici sau egale cu n. De exemplu, pentru n=35, se va afişa 1, 2, 4, 8, 16, 32.

Răspunsuri la întrebare

Răspuns de Xcoder
1

Solutie in C++:


#include <iostream>


int n,r;


int main(int argc, const char * argv[]) {


    std::cin>>n;

    if (n == 1){

        std::cout<<1;

    }

    else if (2 <= n && n < 4){

        std::cout<<1<<" "<<2;

    }

    else {

        r = 2;std::cout<<1<<" "<<2<<" ";

        while (r <= n){

            r = r * 2;if(r <= n){std::cout<<r<<" ";}

        }

    }

    return 0;

}


porecla7: afiseaza doar 1 si 2
Xcoder: ba nu
Xcoder: mie imi merge perfect :))
Zlatan: int p = 1; while(1 << p <= n) {printf("%d",1 << p); p++;}
Alte întrebări interesante