C/C++ C++ Power of Two Check

SubhanXd

Centipat
Katılım
5 Kasım 2022
Mesajlar
186
Çözümler
1
Selamlar. Yapmam gereken şu:
Given a natural number N, determine if it is a power of 2.
Output Format
Print "Yes" if N is a power of 2, otherwise print "No".
Yazdığım kod :
C++:
int main() {
     int num ;
     cin >> num ;
     int f = 0 ;
   
 
        while (num>=1) {
          if(num == 1 ) {
         cout << "Yes" << endl;
         break ;  } else {
          f  = num %2 ;
           num = num / 2 ; }
     }

        while (num>=1) {
       if (f ==0) {
         cout << "Yes" << endl ;
         break ;
       } else {
         cout << "No" << endl ;
       break ;
       }
        }
 }
 
Evlat; bu C eslenigi; anlarsin gayri.

#include <stdio.h>
#include <stdlib.h>

static unsigned long sayi, ret;

int main(int ac, char* av[]){
sayi = strtol(av[1], 0, 10);

for(int i = 0; i < 64; i++){
if((sayi >> i) & 1) ret++;
}

if(sayi > 1 && ret == 1) puts("YES");
else puts("NO");

return 0;
}
 
C++:
#include <math.h>
#include <iostream>

int main() {
    int number;
    std::cout << "Number: ";
    std::cin >> number;
    std::cout << ((floorf(log2(number)) == log2(number)) ? "Yes" : "No");

    return 0;
}
 

Technopat Haberler

Yeni konular

Geri
Yukarı