promotion image of download ymail app
Promoted
Anonimo
Anonimo ha chiesto in Computer e InternetProgrammazione e Design · 2 mesi fa

Codifica degli algoritmi in C?

Qualcuno potrebbe dirmi come si fa a scrivere in linguaggio C "un programma che verifichi se un numero inserito da tastiera é uns potenza del 2 e se lo é determini l'esponente"

Ringrazio in anticipo 

2 risposte

Classificazione
  • 42
    Lv 7
    2 mesi fa

    In un ciclo while, dividi il numero per 2: se la divisione non ha resto, aumenta una variabile contatore di 1; dividi ancora il risultato per 2 e continua finché il risultato è 1 oppure la divisione dà resto (ed esci dal while). Nel primo caso il numero è una potenza di 2 e la variabile contatore contiene il valore dell'esponente; nel secondo caso il numero non è una potenza di 2.

    • Commenter avatarAccedi per rispondere alle risposte
  • Anonimo
    2 mesi fa

    #include <stdio.h>

    main()

    {

        int i=1,l,n;

        system("cls");

        printf("\nInserisci il numero da verificare: ");

        scanf("%d",&n);

        do

        {

            if(n&2!=0)

              break;

            n/=2;

            if(n%2!=0)

             break;

            i++;

        }while(1);

        if(n==1)

          printf("\nE' 2 elevato a %d\n",i);

        else

          printf("\nNon e' una potenza di 2.\n");

     system("pause");      

    }

    • Commenter avatarAccedi per rispondere alle risposte
Altre domande? Fai una domanda e ottieni le risposte che cerchi.