oplossing nodig

K

KAD

Guest
iemand zou kunnen geven een een lijn c expressie te testen of een getal een macht van 2 of niet?

 
Nou de volgende code werkt alleen voor integers
Code:# Include <stdio.h>

# Include <iostream>

# Include <math.h>

using namespace std;int main ()

(

int x = 10;

dubbele INTx;

cout <<"Geef een getal:";

cin>> x;

cout <<"vierkantswortel van" <<x <<":" <<sqrt (x) <<endl;

if (modf (sqrt (x), & INTx)! = 0) / / een regel testen

cout <<"Niet sqrt thingy" <<endl;

return 0;

)

 
(Aantal & 0x01)?printf ("nummer oneven is \ n"): printf ("Number is zelfs \ n");

 
deze sd kleinste die ik kan bedenken

laten we zeggen x D Nee.

ans = yes;
while (x> 1)
(
if ((x% 2) == 1) (ans = geen break;)
x = x / 2;
)

Ans zal weer geen geven.is 2 de macht is of niet.
Opmerking: 1 zullen worden beschouwd ja (2 ^ 0)

 
# Include <stdio.h>

int main (void)
(
int i;

for (i = 2; i <100; i )
(
if (! (i & (i-1)))
printf ("% d is de macht van 2 \ n", i);
)
return 0;
)

krijgt u:2 is de macht van 2
4 is de macht van 2
8 is de macht van 2
16 is de macht van 2
32 is de macht van 2
64 jaar is de macht van 2

 
int x = 32768;
int macht = 0;
char vlag;

////////////////////////////////////////////////// /////////////////////////////
void main (void)
(
flag = 1;
while (x> 1)
(
if ((x% 2) == 1) (vlag = 0; break;)
x = x>> 1; macht ;
)
if (flag == 1) printf ("x is% d macht van 2", vermogen);
else printf ("x is geen macht van 2");
)

 

Welcome to EDABoard.com

Sponsor

Back
Top