m0_74444924 2022-10-26 16:14 采纳率: 40%
浏览 105
已结题

关于#c语言#的问题,如何解决?

题目描述:阿基米德与国王下棋的故事
有一位国王与数学家阿基米德下棋。国王说我们这样干下棋好象不够刺激,要么赌点什么吧!阿基米德说好啊。国王说,如果我下赢了,你就给我打一辈子长工。阿基米德说行啊。国王问阿基米德,那你要是赢了呢?阿基米德看了看国王家的粮仓,说:我要是赢了,你就在棋盘格子里放上米粒就行了。国王问:怎么个放法呀?阿基米德说:棋盘一共就这么多格子,你要是输了,就在第一个格子里放一粒米,在第二个格子里放两粒米,在
第三个格子里放四粒米,以此类推,以后每个格子放的米粒都是上一格的一倍,放完就行了。国王心想,我家有那么大的粮仓,别说这么个小小棋盘了,就是再大的棋盘也能装得下呀。于是他欣然答应,而且还吩咐手下准备笔墨,跟阿基米德签了约。结果阿基米德赢了棋。国王呢,在兑现承诺的时候才发现,别说他那一个粮仓,就是再多几个粮仓也填不满那个小小的棋盘。
这个故事中阿基米德所应用的
数学原理就是几何倍增原理。这个数学模型的可怕之处在于,如果一个数字大于或等于2,那么按几何级数增加时,其倍增的速率是十分惊人的。如果把第一个格子的一粒米写成2的0次方,第二个格子写成2的1次方,第三个格子写成2的2次方,那么第N个格子就可以写成2的N-1次方。国际象棋一共 64个格子。到了第64个格子的时候,需要放的米粒数就是2的63次方,如果1000粒米有一克重,那么折算一下,第64格就需要放米
9223372036吨。这么大的数字,看来国王只能把国家交出来了。试着编写一个程序,给定非负整数n,
求2”。
#include<math.h>//为数学公式头文件,在c语言里面math.h,里面存储有很多常用数学公式,如果调用这些学公式,则需要增加
#include<math.h>,
answer=pow(2n);//将2n次方的结果赋值给变量 answer,pow(a,b)求a的b次方。

  • 写回答

3条回答 默认 最新

  • 关注

    输入n 求answer的代码:

    #define _CRT_SECURE_NO_WARNINGS 1
    
    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
        int n;
        double answer;
        scanf("%d", &n);
        answer = pow(2.0, n);
        printf("%lf", answer);
        return 0;
    }
    
    
    

    下面是计算总共需要多少米和重量的代码,你的题目贴的不全,估计是要第一个代码。下面这个代码供参考吧。

    #define _CRT_SECURE_NO_WARNINGS 1
    
    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int a;
        double s = 0;
        for (a = 1; a <= 64; a++) {
            s += pow(2.0, a - 1);
        }
        printf("国王总共要给%lf粒米\n", s); 
        printf("这些米总共约%.2lf吨\n", s /pow(10.0,9) ); //结果保留2位小数,1000粒米=1克,1千克=10^6,1吨=10^9
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月26日

悬赏问题

  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒