前言:
1) 当多个因素都在变动时,往往不容易一下子考虑清楚最终的逻辑。
2) 这时,可以先固定一些因素,把变化的因素用常数暂时代替。
3) 程序能够运行起来以后,再逐步把常数替换为可以变化的逻辑。
总结 ----> “常数变易法”是一种渐进式的构造程序的方法。
某些变量是变化的时候,设置这个数值为常量,然后不断变化常量,找出规律,后将常量变更为变量
案例如下:
public class variation { /** * 常数变易法 */ public static void main(String[] args) { pyramid3(); } /** * 打印金字塔 * 0) 先用最原始方式 打印出结果 * 1) 将每一行当做两部分的组合 空格 和 *空格 * 2) 从末尾行开始模拟输出同样效果,然后慢慢开始向上一行推演, 从而找到规律 * */ public static void pyramid () { System.out.println(" *"); System.out.println(" * *"); System.out.println(" * * *"); //System.out.println(" * * * *"); //System.out.println(" * * * * *"); for(int i=0; i<6; i++) System.out.print(" "); for(int i=0; i<4; i++) System.out.print("* "); System.out.println(); for(int i=0; i<5; i++) System.out.print(" "); for(int i=0; i<5; i++) System.out.print("* "); System.out.println(); } // 推演后得到规律,打印*金字塔写法: public static void pyramid1 () { for(int i=1; i<=6; i++){ for(int j=0; j<=(10 - i); j++) System.out.print(" "); for(int j=0; j<i; j++) System.out.print("* "); System.out.println(); } } /** * 打印字母金字塔, 先将最后一行拆分打印对,然后一层层上推,找到循环行号和每一行要打印符号之间的数字关系,然后将行号变更为变量 */ public static void pyramid2 () { System.out.println(" A"); System.out.println(" ABA"); System.out.println(" ABCBA"); System.out.println(" ABCDCBA"); //System.out.println(" ABCDEDCBA"); for(int i=0; i<5; i++) System.out.print(" "); for(int i=0; i<5; i++) System.out.print((char) ('A' + i)); for(int i=3; i>=0; i--) System.out.print((char) ('A' + i)); System.out.println(); } public static void pyramid3 () { for(int i=1; i<=6; i++){ for(int j=0; j<(10-i); j++) System.out.print(" "); for(int j=0; j<i; j++) System.out.print((char) ('A' + j)); for(int j=i-2; j>=0; j--) System.out.print((char) ('A' + j)); System.out.println(); } } }
相关推荐
在编程领域,算法是至关重要的核心思想,它们是解决问题和设计高效程序的基础。"经典算法大全"涵盖了编程算法的各个方面,旨在帮助程序员提升理解和应用能力。以下是对标题和描述中涉及知识点的详细说明: 1. **...
《Java常用算法手册》是一本面向Java初学者的算法指南,旨在通过深入浅出的方式,帮助读者理解并掌握各种常见的编程算法,从而提高他们的编程能力和解决问题的效率。这本书的覆盖范围广泛,涉及到算法基础、数据结构...
详细介绍了神经网络算法、粒子群算法、遗传算法、模糊逻辑控制、免疫算法、蚁群算法、小波分析算法及其MATLAB的实现方式等内容; 第二部分详细介绍了智能算法的工程中的应用问题,包括模糊神经网络在工程中的应用、...
嵌入式系统软件设计中的常用算法(完整版)
【编程思路】主要包括以下步骤: 1. 初始化:设定蚂蚁数量、信息素初始浓度、信息素蒸发率、启发式信息权重等参数,构建问题的图模型。 2. 循环迭代:每只蚂蚁随机选择起点并开始构建解决方案(路径),在每一步...
都是C语言常用的算法
这个名为“MATLAB语言常用算法程序集_matlab教程算法程序_matlab教程_mirrorq8z_”的压缩包,显然包含了丰富的MATLAB教程和算法程序,旨在帮助用户深入理解和实践MATLAB的应用。 教程通常会涵盖以下知识点: 1. **...
用TOA的方法,使用matlab编程,最终实现定位。
常用算法模板_C++.zip AC自动机,Dijkstra,Floyd,GCD,KMP,KMP扩展,Kruskal,LCM,LCS,LIS,Prim,SPFA,埃氏筛,背包,并查集,多边形面积,二分搜索,高精度加法,高精度阶乘,级角排序,进制转换,快速幂,...
3. 哈希表搜索:哈希表提供近乎常数时间的搜索性能(平均情况O(1))。MATLAB的`containers.Map`类可用于创建哈希表,进行快速的键值对查找。 4. 分治法:这是一种高级搜索策略,将问题分解为较小的部分,然后递归地...
"新建文件夹_C语言常用算法总结_"这个资源提供了一个全面的C语言算法集合,涵盖了多种基础和进阶算法,对于学习和提升C语言编程技能非常有帮助。以下是这些算法的详细说明: 1. **排序算法**:C语言中的排序算法...
算法导论(中文版)(现代计算机常用数据结构和算法)_完整.part3.rar 算法导论(中文版)(现代计算机常用数据结构和算法)_完整.part3.rar 算法导论(中文版)(现代计算机常用数据结构和算法)_完整.part3.rar
"编程基础算法引导 算法学习"这个资料包正专注于为初学者提供一套基础算法的学习路径,帮助他们更好地理解并掌握编程的核心技巧。 首先,背包问题九讲.doc,这是关于经典计算机科学问题的讲解,背包问题通常涉及到...
Python算法教程_中文版.pdf
matlab编程实现动态规划算法,适合初学者使用
"lonelyyb8"可能是作者的在线ID,"psomatlab"表明算法使用了Matlab工具箱,"matlabtsp算法"表示该算法专门用于解决TSP问题,而"matlab"则是编程语言。 在压缩包中的"matlab代码"文件,很可能是实现这个改进PSO算法...
遗传算法解决TSP,采用matlab语言编程,利用遗传算法解决TSP问题。
【标签】“源码”表明压缩包内包含的是实现蝗虫优化算法的编程代码,可能是用某种编程语言(如Python、C++或Java)编写的。用户可以下载并研究这些源码,理解算法的工作原理,并可能根据需要进行修改或扩展。 ...
【标题】:第二届全国大学生算法设计与编程挑战赛(春季赛 赛题) 本次比赛是针对全国大学生的一场算法设计与编程竞赛,旨在提升参赛者的算法思维和编程能力。春季赛作为赛事的一部分,通常会吸引众多热爱编程的学子...
各种局部优化算法,变邻域算法,改善局部优化效果,加快运行效率,可运行