写出算法
发布时间: 2023-11-04 06:38:15
㈠ 利用两种循环写出1+2+3+…+100的算法,并画出各自的流程图
直到型循环算法:
第一步:S←0;
第二步:I←1;
第三步:S←S+I;
第四步:I←I+1;
第五步:如果I不大于100,转第三步;否则,输出S。相应的流程图如图甲所示.当型循环算法如
下:S1令i←1,S←0S2 。
当型循环算法如下:
S1 令i←1,S←0
S2 若i≤100成立,则执行S3;否则,输出S,结束算法
S3 S←S+i
S4 i←i+1,返回S2
相应的流程图如图乙所示。
(1)写出算法扩展阅读
从1开始递增依次与从100开始递减、将两个数进行相加配对、有50组为101的数。
1+100=101,2+99=101······50+51=101。从1加到100有50组这样的数,所以50X101=5050。
等差数列求和公式:(1+100)*100/2=5050
㈡ 写出快速排序的算法
快速排序算法通过多次比较和交换来实现排序,其排序算法如下:
(1)首先设定一个分界值,通过该分界值将数组分成左右两部分。
(2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。
(3)然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。右侧的数组数据也可以做类似处理。
(4)重复上述过程,可以看出,这是一个递归定义。通过递归将左侧部分排好序后,再递归排好右侧部分的顺序。当左、右两个部分各数据排序完成后,整个数组的排序也就完成了。
热点内容