Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Preciso de mais bits que um long int

Estou tentando fazer um programa que calcule o somatório do número de grãos em um tabuleiro de chadrez, obedecendo à regra: colocar um grão no primeiro quadro, e nos quadros seguintes o dobro do quadro anterior (tabuleiro tem 64 quadros). 1, 2, 4 , 8, 16.... o programa apresenta a soma até determinado momento, depois o número de bits, eu acho, não é suficiente mais.

#include <stdio.h>

int main() {

long int soma = 1;
int ant = 1;
int i = 1;
    for (i = 1; i <= 63; i++){
        soma = soma + (ant * 2);
        ant = ant * 2;
        printf("%li\n", soma);
    }

}
1 resposta
solução!
#include <stdio.h>

int main() {

double soma = 1;
double ant = 1;
int i = 1;
    for (i = 1; i <= 63; i++){
        soma = soma + (ant * 2);
        ant = ant * 2;
        printf("%.00lf\n", soma);
    }

}