一个算法应该具有以下五个重要的特征:
有穷性(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止;
确切性(Definiteness)
算法的每一步骤必须有确切的定义;
输入项(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
输出项(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
可行性(Effectiveness)
算法中执行的任何计算步骤都是可以被分解为基本的可执行的 *** 作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
算法和程序的关系是:
算法就是程序的灵魂,一个需要实现特定功能的程序,实现它的算法可以有很多种,所以算法的优劣决定着程序的好坏。
程序就是遵循一定规则的、为完成指定工作而编写的代码。有一个经典的等式阐明了什么叫程序:程序 = 算法 + 数据结构 + 程序设计方法 + 语言工具和环境 。
#includemain()
{
int a,b,c
for(a=0a<9a++)
for(b=0b<9b++)
for(c=0c<9c++)
{
if((100*a+10*b+c + 100*c+10*b+a) == 1333)
printf("a:%d,b:%d,c:%d\n",a,b,c)
}
}
原理就是穷举,不过要注意的是100*a+10*b+c这种表示方式代表的是a百b十c,在很多地方都有用。程序我刚试过了~肯定没问题,一共有4组答案,楼长看我上班呢还给你写程序给个最佳答案吧~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)