IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 印度国王蛇罕褒奖宰相达依尔(国际象棋发明者) -> 正文阅读

[C++知识库]印度国王蛇罕褒奖宰相达依尔(国际象棋发明者)

国王只要在国际象棋的棋盘第一格子放一粒麦子,第二格放2粒麦子,第三格放4粒麦子,依此比例每一格增加一倍,一直放到64格(国际象棋棋盘时8*8=64格)

根据估算,1立方米小麦约有1.42*10的8次方粒。

#include<stdio.h>
#include<math.h>
#include<windows.h>
//国王只要在国际象棋的棋盘第一格子放一粒麦子,第二格放2粒麦子,第三格放4粒麦子,依此比例每一格增加一倍,一直放到64格(国际象棋棋盘时8*8=64格)

//根据估算,1立方米小麦约有1.42*10的8次方粒

//错误程序,p,t,为赋值,运算出错,会运算出负数导致结果错误
void test01()
{
?? ?double p, t, v; ? ? ? ? ? ? ? ? ? ? ?/*p = 麦子粒数,t=麦子总粒数,v为麦子的总体积*/ ?
?? ?int i;
?? ?for(i = 1; i < 64; i++) ? ? ? //执行63此循环
?? ?{
?? ??? ?p = p * 2;
?? ??? ?t = t + p;
?? ?}
?? ?v = t / 1.42e8;
?? ?printf("total=%e\n", t);
?? ?printf("volume=%e\n", v);

}
//正确程序如下
void test02()
{
?? ?double p = 1, t ?= 1, v; ? ? ? ? ? ? ? ? ? ? ?/*p = 麦子粒数,t=麦子总粒数,v为麦子的总体积*/ ?
?? ?int i;
?? ?for(i = 1; i <?64; i++)
?? ?{
?? ??? ?p = p * 2;
?? ??? ?t = t + p;
?? ?}
?? ?v = t / 1.42e8;
?? ?printf("total=%e\n", t);
?? ?printf("volume=%e\n", v);

}

void main()
{
?? ?test01();
?? ?test02();
?? ?system("pause");
}

增加测试类型如下:

#include<stdio.h>
#include<math.h>
#include<windows.h>
//国王只要在国际象棋的棋盘第一格子放一粒麦子,第二格放2粒麦子,第三格放4粒麦子,依此比例每一格增加一倍,一直放到64格(国际象棋棋盘时8*8=64格)

//根据估算,1立方米小麦约有1.42*10的8次方粒

//错误程序,p,t,为赋值,运算出错,会运算出负数导致结果错误
void test01()
{
?? ?double p, t, v; ? ? ? ? ? ? ? ? ? ? ?/*p = 麦子粒数,t=麦子总粒数,v为麦子的总体积*/ ?
?? ?int i;
?? ?for(i = 1; i < 64; i++) ? ? ? //执行63此循环
?? ?{
?? ??? ?p = p * 2;
?? ??? ?t = t + p;
?? ?}
?? ?v = t / 1.42e8;
?? ?printf("total=%e\n", t);
?? ?printf("volume=%e\n", v);

}
//正确程序如下
void test02()
{
?? ?double p = 1, t ?= 1, v; ? ? ? ? ? ? ? ? ? ? ?/*p = 麦子粒数,t=麦子总粒数,v为麦子的总体积*/ ?
?? ?int i;
?? ?for(i = 1; i < 64; i++) ? ? ? //可使用这种方法,for循环也可以从1到63次 共循环了63次,得到正确运算结果
?? ?{
?? ??? ?p = p * 2;
?? ??? ?t = t + p;
?? ?}
?? ?v = t / 1.42e8;
?? ?printf("total=%e\n", t);
?? ?printf("volume=%e\n", v);

}

void test03()
{
?? ?double p =1 , t = 1 , v; ? ? ? ? ? ? ? ? ? ? ?/*p = 麦子粒数,t=麦子总粒数,v为麦子的总体积*/ ?
?? ?int i;
?? ?for(i = 1; i <= 64; i++) ? ? ? //执行64此循环的错误结果,多运算一次结果刚好翻倍
?? ?{
?? ??? ?p = p * 2;
?? ??? ?t = t + p;
?? ?}
?? ?v = t / 1.42e8;
?? ?printf("total=%e\n", t);
?? ?printf("volume=%e\n", v);
}


void test04()
{
?? ?double p = 1 , t = 1 , v; ? ? ? ? ? ? ? ? ? ? ?/*p = 当前一格中麦子粒数,t=当前麦子总粒数,v为麦子的总体积*/ ?
?? ?int i;
?? ?for(i = 0; i < 64; i++) ? ? ? //错误循环,for循环也可以从0词到63次 共循环了64次,多了一次结果翻倍,从0循环后面总循环数需要减一
?? ?{
?? ??? ?p = p * 2;
?? ??? ?t = t + p;
?? ?}
?? ?v = t / 1.42e8;
?? ?printf("total=%e\n", t);
?? ?printf("volume=%e\n", v);
}

void test05()
{
?? ?double p = 1 , t = 1 , v; ? ? ? ? ? ? ? ? ? ? ?/*p = 当前一格中麦子粒数,t=当前麦子总粒数,v为麦子的总体积*/ ?
?? ?int i;
?? ?for(i = 0; i < 63; i++) ? ? ? //可使用这种方法,for循环也可以从0词到62次 共循环了63次,多了一次结果翻倍,从0循环后面总循环数需要减一
?? ?{
?? ??? ?p = p * 2;
?? ??? ?t = t + p;
?? ?}
?? ?v = t / 1.42e8;
?? ?printf("total=%e\n", t);
?? ?printf("volume=%e\n", v);
}


void main()
{
?? ?test01();
?? ?test02();
?? ?test03();
?? ?test04();
?? ?test05();
?? ?system("pause");
}

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:30:43  更:2022-04-30 08:32:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 1:35:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码