Red de conocimiento informático - Computadora portátil - Lenguaje C 8*8 cuadrícula de ajedrez problema de grano de arroz programación problema de dígitos

Lenguaje C 8*8 cuadrícula de ajedrez problema de grano de arroz programación problema de dígitos

/*

El resultado máximo de tu operación es: 1 + 2 + 4 + 8 + ... + 2^63 = 2^63 - 2

int tiene solo 32 bits y el número más grande es 2 ^ 31-1, por lo que el resultado se desbordará.

El método correcto es utilizar __int64, su número máximo es 2^63-1, que cumple con los requisitos

*/

#include

int main()

{

__int64 S=0;

int i,A;

__int64 t=1;

printf("Por favor, introduzca un número menor que 64: \n");

scanf("%d",&A);

for(i=2;i<=A+1;i++)

{

S=S+t

t=t; * 2;

printf(" %d y la cuadrícula anterior*** %I64d granos de arroz\n",i-1,S);

}

devuelve 0;

}