介绍“自顶向下,逐步求精”的方法_所谓还步求精,是将复杂问题经抽象化处理变为相对比较简单的问题。经者干步精-程序员宅基地

概念
结构化程序设计支持“自顶向下, 逐步求精”的程序设计方法。
首先,“自顶向下”
是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。
其次,“逐步求精”
是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。
下面我们将举个例子来具体说明这种方法。
例: 验证“哥德巴赫猜想”

哥德巴赫猜想是数论中的一个著名难题, 是由法国数学爱好者克里斯蒂安·哥德巴赫于1742年在给著名数学家欧拉的一封信中提出的。

“哥德巴赫猜想”可以表述为:任何一个大于等于4的偶数均可以表示为两个素数之和。

尽管这个问题看来如此简明清晰, 但二百多年来, 虽有无数数学家为其呕心沥血、绞尽脑汁, 却始终无人能够证明或者证伪这个猜想 。

求解
第一步 提出问题: 验证哥德巴赫猜想

第二步 设一上限数M,验证从4到M的所有偶数是否能被 分解为两个素数之和。
1. 定义一个变量X,初值为4。
2. 每次令其加2,并验证X能否 被分解为两个素数之和,直到 X不小于M为止。

第三步 如何验证X是否能被分解为两个素数之和。
1. 从P=2开始;
2. 判别X—P是否仍为素数:
3. 若是,打印该偶数的分解式。
4. 否则,换更大的素数,再继续执行2.。如此循环,直到用于检测的素数大X/2且X 与其之差仍不是素数,则打印“哥德巴赫猜想”不成立。

第四步 查找下一个素数。
(1)当前素数P加1
(2)判别P是否是素数;
(3)若是素数,返回P;
(4)否则,P加1,继续执行( 2)。

经过四步分解精化,将“验证哥德巴赫猜想”这个命题已经分解为计算机可以求解的数学模型了。
剩下的问题就是编程求解了。
我们可以很明显的看出:”自顶向下,逐步求精”的方法将问题简单化,更加利于我们解决问题。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yuqibaba/article/details/78659630

智能推荐

c语言表达式求解,C语言的基于栈实现的表达式求值-程序员宅基地

文章浏览阅读210次。一、目的理解中缀表达式求值的过程理解中缀转后缀表达式求值的过程掌握堆栈的应用二、问题描述缀表达式,其中包含括号,加减乘除,乘方等运算,利用中缀表达式,对表达式分析并求值入的中缀表达式转换为后缀形式,显示后缀形式,并通过后缀形式求值三、数据结构//运算符结构体typedef struct{char OPname; //存储运算符int inOP; //存储栈内级别int outOP; //存储栈外级..._c表达式求解堆栈

放弃Gitflow Workflow的原因——Gitflow Workflow(六)_gitflow的缺点-程序员宅基地

文章浏览阅读289次。放弃Gitflow Workflow的原因。经历过才会明白,原来我们不合适,哈哈~~_gitflow的缺点

如何在Linux命令行下发送和接收UDP数据包_nc 发包-程序员宅基地

文章浏览阅读3.6k次。众所周知,在传输层有两个常用的协议TCP和UDP,本文介绍在Linux命令行下,如何使用nc命令发送或接收UDP数据包,这些命令的用法对调试UDP通信程序将有所帮助。_nc 发包

科大讯飞年报出炉,2018每天赚148万元,53%是政府补助-程序员宅基地

文章浏览阅读2k次。A股AI第一股——科大讯飞,2018年报刚刚出炉。全年营收79.17亿元,毛利润39.61亿元,净利润5.42亿元,核心指标都在同比上涨。这是一份怎样的答卷?如果上述数据还不够具象,可以更直接换算一下:2018年全年,讯飞每天营收入账2169万元,净赚148万元。当然,净利润所得,还包含了讯飞的政府补助。2018年年报中,讯飞获得政府补助总额2.85亿元,占比净利52.5...

tinyMCE本地视频上传_tinymce上传视频-程序员宅基地

文章浏览阅读1.6w次,点赞4次,收藏21次。摘要期望:在tinyMCE富文本编辑器中将本地图片上传至服务器背景:vue tinyMCE^4.7.4步骤:1.在工具栏toolbar中显示视频图标 2.在弹出的媒体窗口中添加本地上传图标 3.视频上传服务器并将视频添加入编辑内容中 4.优化:a.显示上传状态文章示例代码地址:https://codepen...._tinymce上传视频

C语言例题-关键词提取_c语言查找关键词并输出-程序员宅基地

文章浏览阅读152次。请你先将单词全部转为小写,找出小写单词里面出现最多的一个单词视为关键词,如果这样的单词有多个,那么找出其中字典序最小的一个。比如a小于b,ah1x小于ahb,acb小于b。时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 输入描述: 输入的第一行输入这堆单词的个数,每行一个长度不超过 的字符串,代表一个单词。输出描述: 一行输出一个字符串以及一个正整数,代表提取出的关键词,以及关键词出现的次数。输入例子: 4 B b c ad。输入例子: 3 b c ad。_c语言查找关键词并输出

随便推点

ubuntu18.04 安装texlive && texstudio_texlive2022 ubuntu18-程序员宅基地

文章浏览阅读2.8k次。使用的是清华源1、安装texlivesudo apt install texlive-full2、安装texstudio sudo apt install texstudio 3、测试,新建tex文件,拷贝下面代码,运行\documentclass{article}\usepackage{CJKutf8}\begin{document} \begin{CJK..._texlive2022 ubuntu18

CentOS7.9基于Apache2.4+Php7.4+Mysql8.0+Agent2架构部署Zabbix6.0LTS 亲测验证完美通过方案_php7.4 mysql8-程序员宅基地

文章浏览阅读1.1k次,点赞22次,收藏15次。Zabbix 由 Alexei Vladishev 创建,目前由 Zabbix SIA 主导开发和支持。Zabbix 是一个企业级的开源分布式监控解决方案。Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。Zabbix 基于存储的数据提供出色的报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。_php7.4 mysql8

2023年的深度学习入门指南(21) - 百川大模型_百川大模型怎么使用-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏25次。前面我们用了三节的篇幅介绍了目前最强大的开源模型LLaMA2。这一节我们说一说国产大模型的一个代表,百川大模型。_百川大模型怎么使用

C/C++高级语言程序设计课程设计任务书[2022-01-02]_题目四、医院预约系统(难度系数**) 模拟微信公众号“美丽厦门智慧健康”,用c语言-程序员宅基地

文章浏览阅读466次。高级语言程序设计课程设计任务书课程设计名称 中文:高级语言程序设计课程设计英文:Computer Programming Basic Comprehensive Practice适用专业 网络22 培养层次 本科学期 第1学期 周数 1.5 学分 1 总学时 1.5周一、课程设计目的与要求课程设计目的在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程。_题目四、医院预约系统(难度系数**) 模拟微信公众号“美丽厦门智慧健康”,用c语言

改进灰色预测matlab代码,灰色预测模型Matlab代码[比赛已经用过,保真好使]-程序员宅基地

文章浏览阅读1.7k次,点赞3次,收藏50次。【实例简介】灰色预测Matlab实现代码,在代码前面有例子介绍如何用,后面的代码改成你自己的数据即可直接运行,我们的代码上有填充好的数据,直接在上面修改就好,需要修改的地方都标注出来了,简单方便,保真呦!【实例截图】【核心代码】灰色预测步骤(1)输入前期的小样本数据(2)输入预测个数(3)运行y=input('请输入数据');n=length(y);yy=ones(n,1);yy(1)=y(1);..._改进灰色预测模型的代码

矩阵归一化的好处_矩阵的归一化有什么作用 不做归一化会改变分布-程序员宅基地

文章浏览阅读2.8k次,点赞2次,收藏3次。版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010381985/article/details/59490102 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/pho..._矩阵的归一化有什么作用 不做归一化会改变分布