当前位置:首页 » 操作系统 » 算法写出来

算法写出来

发布时间: 2023-04-08 10:02:37

‘壹’ 大家帮帮忙啊!算出来,吧算法写一下啊!

第一步:21÷3=7算出一个戴博士帽的小熊等于7。第二步:19-7÷2=6算出一辆载着没带博士帽小熊的车等于6.第三步:15-6-7=2算出一个博士帽等于2.最后一步很关键,坑在最后一步,第一个小熊没带博士帽也就是7-2=5,两个博士帽2+2=4,最后一辆车里没有小熊用6-5=1.最后答案是5+4×1=9.完美收官

‘贰’ 如何写一个算法

算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。 一个算法应该具有以下五个重要的特征: 1、有穷性: 一个算法必须保证执行有限步之后结束; 2、确切性: 算法的每一步骤必须有确切的定义; 3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件; 4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的; 5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。 当遇到一个算法问题时,首先要知道自己以前有没有处理过这种问题.如果见过,那么你一般会顺利地做出来;如果没见过,那么考虑以下问题: 当遇到一个算法问题时,首先要知道自己以前有没有处理过这种问题.如果见过,那么你一般会顺利地做出来;如果没见过,那么考虑以下问题: 1. 问题是否是建立在某种已知的熟悉的数据结构(例如,二*树)上?如果不是,则要自己设计数据结构。 2. 问题所要求编写的算法属于以下哪种类型?(建立数据结构,修改数据结构,遍历,查找,排序...)3. 分析问题所要求编写的算法的数学性质.是否具备递归特征?(对于递归程序设计,只要设计出合理的参数表以及递归结束的条件,则基本上大功告成.)4. 继续分析问题的数学本质.根据你以前的编程经验,设想一种可能是可行的解决办法,并证明这种解决办法的正确性.如果题目对算法有时空方面的要求,证明你的设想满足其要求.一般的,时间效率和空间效率难以兼得.有时必须通过建立辅助存储的方法来节省时间.5. 通过一段时间的分析,你对解决这个问题已经有了自己的一些思路.或者说,你已经可以用自然语言把你的算法简单描述出来.继续验证其正确性,努力发现其中的错误并找出解决办法.在必要的时候(发现了无法解决的矛盾),推翻自己的思路,从头开始构思.6. 确认你的思路可行以后,开始编写程序.在编写代码的过程中,尽可能把各种问题考虑得详细,周密.程序应该具有良好的结构,并且在关键的地方配有注释.7. 举一个例子,然后在纸上用笔执行你的程序,进一步验证其正确性.当遇到与你的设想不符的情况时,分析问题产生的原因是编程方面的问题还是算法思想本身有问题. 8. 如果程序通过了上述正确性验证,那么在将其进一步优化或简化。 9. 撰写思路分析,注释. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------看不懂,还是不明白,有谁清楚告诉我啊,

‘叁’ 请问这是用哪种算法写出来的

用的是递归算法。
在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。

‘肆’ 请写一个折半插入排序算法(最好用C语言写出来,只要求写一个函数)

/***折半插入排序***/
/*算法原理:从第二个数开始逐个置入监视哨,使用low,high标签在L[0..i-1]有序区内进行折半查找
来确认待排序数的插入位置,然后将该位置到最后一个数全部后移一位,最后腾出该位置,
把监视哨里面的数置入该位置。后面的数以此类推进行排序,直到最后一个数比较完毕。
*/
#include<stdio.h>
voidbinaryInsertSort(intL[],intn)
{
inti,j;
intlow,high,mid;
//用L[0]作为监视哨,L[1..i-1]为有序区,
for(i=2;i<=n;i++)
{
L[0]=L[i]; //待排序的数进监视哨
low=1;
high=i-1; //初始化low,high
while(low<=high)//循环语句确定插入位置,必须保证low<=high
{
mid=(low+high)/2;
if(L[0]<L[mid])//根据L[0]的值的大小,确定属于低半区还是高半区
high=mid-1;//插入低半区//插入低半区
else
low=mid+1;//插入高半区
}
for(j=i-1;j>=high+1;j--)//待插入位置后面L[hign+1..i-1]全部数后移一位
L[j+1]=L[j];
L[high+1]=L[0]; //或者换成L[j+1]=L[0];监视哨里面的数插入数组
}
}

voidbinaryInsertSort1(intL[],intn)
{
inti,j;
intlow,high,mid,tmp;
//用临时变量tmp作为监视哨,L[0..i-1]为有序区
for(i=1;i<n;i++)
{
tmp=L[i];
low=0;
high=i-1;
while(low<=high)
{
mid=(low+high)/2;
if(tmp<L[mid])
high=mid-1;
else
low=mid+1;
}
for(j=i-1;j>=high+1;j--)
L[j+1]=L[j];
L[high+1]=tmp;
}
}

intmain()
{
inti,n;
inta[50];
printf("输入n=");
scanf("%d",&n);
printf("输入数组元素: ");
// for(i=1;i<=n;i++)
for(i=0;i<n;i++)
scanf("%d",&a[i]);
// binaryInsertSort(a,n);
binaryInsertSort1(a,n-1);
printf("排序后; ");
// for(i=1;i<=n;i++)
for(i=0;i<n;i++)
printf("%-4d",a[i]);
putchar(10);
return0;
}

‘伍’ 算法怎么写

算法的流程书写可通过流程图或伪代码来完成。

所谓流程图是指以特定的图形符号加上说让誉明,表示算法的图,用它来表示算法思路是一种极燃滑芦好的方法,因为有时候千言万语不如一张图形象生动易于理解,例如:

而伪代码是介于自然语言和计算机语言之间的文字和符号(包括数学符号),它是一种不依赖于语言、用来表示程序执行过程、而不一定能皮带编译运行的代码,例如:

Begin(算法开始)

输入 A,B,C

IF A>B 则 A→Max

否则 B→Max

IF C>Max 则 C→Max

Print Max

End (算法结束)

热点内容
ton在编程 发布:2025-09-11 20:48:35 浏览:738
服务器主地址是什么情况 发布:2025-09-11 20:46:35 浏览:315
php单引号双引号 发布:2025-09-11 20:33:46 浏览:831
c语言细节 发布:2025-09-11 20:29:37 浏览:245
双脚本结构 发布:2025-09-11 20:29:31 浏览:880
云存储时间 发布:2025-09-11 20:01:58 浏览:597
access数据库if语句 发布:2025-09-11 19:52:34 浏览:180
安卓程序的用户数据在哪里 发布:2025-09-11 19:41:21 浏览:276
安卓的数据库 发布:2025-09-11 19:29:40 浏览:985
python语言是一门编程语言 发布:2025-09-11 19:27:09 浏览:569