Potenze di 2

di Anonimizzato13124 il
15 risposte
/*Potenze di 2*/
#include<stdio.h>
#include<limits.h>  
  main(){
    long int potenza=1;
      int i=1,base=2;
 while(i<=32){
          potenza*=base;
            printf("%d^%d=%ld\n",base,i,potenza);
              i++;
      }
             getchar();
}


Come faccio a calcolare pure la potenza 2^0 in questo programma???

15 Risposte

  • Banale!

    In questo momento il programma quale potenza di 2 sta' calcolando?
  • Fino alla 32
  • Fino?
    Quindi quale e' la prima?
  • La 1 , mi esclude la potenza 0
  • Non la esclude lui, la stai escludendo tu!

    lo hai scritto nel codice: quale e' il valore iniziale di 'i' ?

    Quanto fa 2^0?


    Dai, la modifica e' banale: PENSA!
  • Inizializzo la i a 0 e mi fa 2^0 fa 2!!!!!
  • Secondo te, l'ordine con cui esegui queste due linee

    potenza*=base;
    printf("%d^%d=%ld\n",base,i,potenza);

    è corretto?
  • Secondo me è giusto l'ordine... o sono io che non vi capisco ragazzi..
  • Un modo "diverso" per calcolare da 2^1 a 2^32 potrebbe essere questo:
    
    #include <stdio.h>
    
    int main()
    {
    long int n;
    int i;
    for(i=0;i<32;i++)
        {
        n=2;
        n=n << i;
        printf("2^%d=%ld\n",i+1,n);
        }
    return 0;
    }
    
  • A me serve la potenza 0!!!!
  • daniele90 ha scritto:


    Secondo me è giusto l'ordine... o sono io che non vi capisco ragazzi..
    Assegna 0 a i

    int i=0

    e inverti quelle due righe ... e poi cerca di capire il perché ...
  • @oregon. quale righe devo invertire?
  • Quelle che ti ho detto prima e a cui tu hai risposto !
  • Funziona , da domani cercherò di capire... grazie
Devi accedere o registrarti per scrivere nel forum
15 risposte