关于C 语言的智力题
来源:百度知道 编辑:UC知道 时间:2024/06/05 02:08:57
一位聪明宰相指者8*8共64格的象棋盘说“请赏我一些麦子把,就在棋盘的第一个格子中放1粒,第二格中放2粒,第三格中放4粒,以后每一格都比前一格增加一倍,依次放完棋盘上的64个格子,试编程用多少麦子赏赐给他,这些麦子合多少立方米?
(1立方米麦子的1.42e8粒.总麦粒SUM=1+2+22+23+……+263)
(1立方米麦子的1.42e8粒.总麦粒SUM=1+2+22+23+……+263)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char* argv[])
{
printf("%lf\n", (pow(2.0, 64) - 1) / 1.42e8);
return 0;
}
一楼的比较合理。二楼是错的,即使是64位编程,int使用8位,也是不行的。
main()
{int i;double s,t=1;
for(i=1;i<=64;i++){s+=t;t=2*t;}
printf("赏赐%lf粒麦子,合%lf立方米",s,s/1.42e8);
}