1到100求和学算法之循环的秘密(1)

简介: 1到100求和学算法之循环的秘密(1)

1 引言

Pascal之父尼古拉斯·沃斯因提出著名公式“算法+数据结构=程序”而荣获1984年计算机领域的最高奖项-图灵奖。通过这个公式,可以发现算法对于程序设计的重要性。然而算法思想的学习异常抽象,往往理解了算法的思想但却难以应用其解决实际问题。

循环结构是程序设计三大结构的重点和难点,几乎所有的算法的设计都使用了循环结构。为什么循环结构应用如此广泛,没有循环结构会给程序设计带来哪些问题,如何利用循环结构求解1100求和问题,本系列文章将带领读者一起探索循环的秘密。

 

2 问题描述

1100求和问题几乎是所有编程语言初学者都会接触到的一个问题,其定义如下,编程实现:

1 + 2 + ··· + 100 =

限制条件:仅依赖变量定义和加法运算符两个知识点。

 

3 算法描述

程序设计初学者在学习完变量的定义之后,紧接着学习了加减乘除等运算符。仅有这些知识是否可以求解1100求和问题?

1100求和问题定义的是1100共一百个整数的求和,其问题规模n=100,如何缩小问题规模,简化问题求解。如果将问题规模n缩小到两个整数的求和,即1+2=?

定义两个变量a1a2,再利用加法运算符即可求解。伪码如下:

a1 = 1

a2 = 2

sum = a1+a2

既然学会了两个整数的求和,采取相似思路,可以将问题规模进一步扩大到100个整数。

定义a1, a2, ..., a100100个变量保存1100100个,然后直接相加。

a1 = 1

a2 = 2

···

a100 = 100

sum = a1 + a2 + ··· +a100

(上面两处省略号并非程序语言关键词,而是由于空间有限故省略)

至此,仅依赖变量定义和加法运算符两个知识点就可以完成1100求和问题的求解。

 

4 结语

本文介绍了程序设计初学者在仅仅学习变量定义和加法运算符两个知识点后如何求解1100求和问题,通过缩小问题规模采用以此类推的方式进行求解。当问题规模缩小后,就可以快速完成求解。

如何缩小问题规模?1100求和问题的问题规模非常易于发现,问题规模缩小后,无论是12求和还是1100求和本质上是一样的。但是有些问题的问题规模却不好定义。后续文章将针对该问题进行深入的探讨。

另外虽然本文算法完成了对1100求和问题的求解,但是存在哪些问题呢?欢迎下方留言讨论。社会的进步就在于不断的发现问题,不断的解决问题,如此循环往复。

目录
相关文章
|
4月前
|
算法 Java
7.Java判断和循环+面试相关力扣算法题详解
7.Java判断和循环+面试相关力扣算法题详解
131 1
|
7月前
|
机器学习/深度学习 传感器 算法
Matlab 蛇算法优化门控循环单元(SO-GRU)的数据回归预测
Matlab 蛇算法优化门控循环单元(SO-GRU)的数据回归预测
|
7月前
|
机器学习/深度学习 传感器 算法
Matlab 向量加权算法优化门控循环单元(INFO-GRU)的数据回归预测
Matlab 向量加权算法优化门控循环单元(INFO-GRU)的数据回归预测
|
3月前
|
算法 前端开发
前端算法-二进制求和
前端算法-二进制求和
|
4月前
|
算法
常用的简单校验算法:校验和,异或校验,crc校验,LRC校验,补码求和,checksum
常用的简单校验算法:校验和,异或校验,crc校验,LRC校验,补码求和,checksum
171 1
|
4月前
|
算法 Java C语言
【新手解答6】深入探索 C 语言:算法流程图(条件判断、循环)+ 字符常量 + switch的具体用法 + 关于`namespace` + import vs include
【新手解答6】深入探索 C 语言:算法流程图(条件判断、循环)+ 字符常量 + switch的具体用法 + 关于`namespace` + import vs include
97 0
|
7月前
|
机器学习/深度学习 传感器 算法
Matlab 灰狼算法优化门控循环单元(GWO-GRU)的数据回归预测
Matlab 灰狼算法优化门控循环单元(GWO-GRU)的数据回归预测
|
7月前
|
机器学习/深度学习 传感器 算法
Matlab 麻雀优化算法优化门控循环单元(SSA-GRU)的数据回归预测
Matlab 麻雀优化算法优化门控循环单元(SSA-GRU)的数据回归预测
|
8月前
|
机器学习/深度学习 数据采集 算法
回归预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元多输入单输出回归预测
回归预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元多输入单输出回归预测
|
8月前
|
机器学习/深度学习 算法
时序预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元时间序列预测
时序预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元时间序列预测