计算机竞赛设计思路怎么写,青少年信息学(计算机)竞赛:程序设计的基本方法(2)...
发布日期:2021-11-18 06:42:35 浏览次数:2 分类:技术文章

本文共 1483 字,大约阅读时间需要 4 分钟。

(2) 细化“number取下一个值”:

number:=number+1;

第三步:细化“number能被k整除”及“k达到lim”。

(1) 细化“number能被k整除”:

number mod k=0;

(2) 细化“k达到lim”:

k<=lim;

第四步:补充完整程序。

第五步:从所有的素数除了2之外都是奇数的角度出发优化程序。

程序设计步骤:

1.分析问题: 对要解决的问题,首先必须分析清楚,明确题目的要求,列出所有已知量,找出题目的求解范围、解的精度等。例“第10周练习”第7题——兔子 的繁殖问题,必须找出其繁殖规律。

2.建立数学模型: 对实际问题进行分析之后,找出它的内在规律,就可以建立数学模型。只有建立了模型的问题,才能可能利用计算机来解决。如上例,可推出递 推公式u[n]=u[n-1]+u[n-2](这是菲波那契数列)

3.选择算法: 建立数学模型后,还不能着手编程序,必须根据数据结构,解决问题的算法。一般选择算法要注意:

(1) 算法的逻辑结构尽可能简单;

(2) 算法所要求的存贮量应尽可能少;

(3) 避免不必要的循环,减少算法的执行时间;

(4) 在满足题目条件要求下,使所需的计算量最小。

4.编写程序: 把整个程序看作一个整体,先全局后局部,自顶向下,一层一层分解处理,如果某些子问题的算法相同而仅参数不同,可以用子程 序来表示。

5.调试运行;

6.分析结果;

7.写出程序的文档: 主要是对程序中的变量、函数或过程作必要的说明,解释编程思路,画出框图,讨论运行结果等。

8.例1:输入奇数n,计算并输出n位的魔方阵。

说明:

(1) 魔方阵就是n*n个不同的正整数按方阵排列时,它的每一行,每一列以及沿对角线的几个数的和具有同一性质的方阵。

(2) 由1到n*n个自然数数构成的魔方阵是最基本的,又称为“幻方”,这种方阵的每行、每列和每个对角线上的元素的和全部相等,亦即等于一个 常数。该常数是n(n*n+1)/2 。

(3) 方法: 首先确定1的位置,通常放在第一行的中间位置; 然后当前自然数的右上方放下一个自然数; 如果当前自然数在第一行但不在最右侧

,则下一个自然数在最后一行,列数右移一列; 如果当前自然数在第一行最右侧,则下一个自然数在当前自然数的下侧; 如果当前自然数在其 它行的最右侧,则下一个自然数在上一行的最左侧。

9.例2:任何一个整数的立方都可以写成一串奇数之和。

说明:

(1)这是著名的尼科梅切斯定理。即 1^3=1 2^3=3+5=8 3^3=7+9+11=27 ……

(2)数据间关系的规律:

•n^3是n个奇数之和,如2^3是2个奇数之和,3^3是3个奇数之和;

•这n个奇数是相邻的,只要知道各式的第一个奇数也就知道所有的n个奇数: 组成1^3的1个奇数是奇数序列中的第1个奇数; 组成2^3的2个奇数中最大的奇数是奇数序列中的第3(3=1+2)个奇数(值为5); 组成3^3的3个奇数中最大的奇数是奇数序列中的第6(6=1+2+3)个奇数(值为11); 由此推出:

组成n^3的n个奇数中最大的奇数是奇数序列中的第m(m=1+2+3+...+n)个奇数,即: m=n(n+1)/2

•奇数序列中第m个奇数的值是:modd=2m-1 modd表示“第m个奇数”,是组成n^3的奇数序列中最大的一个奇数。 例如,第2个奇数是3,第6个奇数是11。

•n^3=modd+(modd-2)+(modd -4)+...(modd -2(n-1))

……更多查看>>杯赛竞赛>>信息学竞赛

转载地址:https://blog.csdn.net/weixin_33648352/article/details/119167725 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:南开大学计算机考博参考书目,南开大学胡翠娥导师博士生招生参考书目
下一篇:计算机忘了考研大纲,2018计算机考研大纲原文(完整版)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年03月24日 13时07分51秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章