更新时间:作者:小小条

问题:求前 n 个正整数的和。核心思路:用循环重复累加,初始化累加器 s=0,计数器 i=1,当 i≤n 时,s 累加 i 并更新 i,直到循环结束。关键结构:当型循环(for/while),体现 “重复操作” 逻辑。代码要点:for i in range(1, n+1): s += i
问题:求两正整数 a、b 的最大公约数。核心思路:利用 “a 与 b 的最大公约数 = b 与 a% b 的最大公约数”,循环求余,直到余数为 0,此时除数为结果。关键结构:循环 + 条件判断(余数是否为 0),比枚举法更高效。代码要点:while b≠0: r=a%b; a,b=b,r,最终 a 为结果。
问题:判断 n(≥2)是否为质数(仅被 1 和自身整除)。核心思路:遍历 2 到√n 的整数,若均不能整除 n,则为质数(优化范围减少计算量)。关键结构:循环遍历 + 条件判断(是否整除),用 break 提前结束循环。代码要点:for i in range(2, int(n**0.5)+1): if n%i==0: 非质数
问题:按用电量 x 计算费用(0-100 度 0.5 元 / 度,101-200 度 0.6 元 / 度,201 度以上 0.8 元 / 度)。核心思路:按 x 的范围分分支计算,用多条件判断覆盖所有区间。关键结构:多分支条件(if-elif-else),体现 “分类处理” 逻辑。
问题:在有序数组中快速查找目标值位置。核心思路:每次取中间元素与目标比较,缩小一半查找范围(左 / 右半区),直到找到或范围为空。关键结构:循环 + 条件判断(中间值与目标的大小),时间效率远高于顺序查找。
问题:将数组元素按升序排列。核心思路:重复遍历数组,相邻元素比较交换,使大元素 “浮” 到末尾,每轮减少一个需比较的元素。关键结构:双层循环(外层控制轮次,内层比较交换),体现 “逐步优化” 逻辑。
这些案例覆盖循环、条件等核心结构,展示了算法从 “解决问题” 到 “高效解决问题” 的思路,是理解算法逻辑的基础。
关注下次找资料不迷路
版权声明:本文转载于今日头条,版权归作者所有,如果侵权,请联系本站编辑删除