大学生程序设计大赛流程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断素数
改进解法: M=n的平方根 用n除以2到m+1的所有数,如果没有一 个数能整除,则为素数;只要有一个数 能整除,则不是素数。 比如:13
13的平方根为3.75<4 用13除以2,3,4。没有一个数能整除, 所以13为素数。 比如:25 25平方根为5 用25除以2,3,4,5。因为5已经能整除 了,后面的数可以不做,25不是素数 思考:还能改进不?
同余
同余定义 : 如果a,b,m都是整数,则当m|(a-b),就 称a,b对模m同余,记作a≡b(mod m),否 则称a,b对模m不同余,记作≠b(mod m) 由于m|a-b等价于-m|a-b,所以a≡b(mod m) 等价于a≡b(mod(-m)).
最大公约数与最小公倍数
对于任意的两个正整数m、n求他们的最 大公约数与最小公倍数 先求他们的最大公约数记为gcd 最小公倍数=m*n/gcd 所以关键是求最大公约数 数学证明可以用“辗转相除法”来解
集合之间的关系及运算
1.集合之间的关系 集合及集合之间的关系可以用图形直观 的表示,称为文氏图。文氏图是一个平 面区域代表一个集合,区域内的点代表 集合的元素。
设有两个集合A和B,如果集合A 的每一 个元素都是集合B的元素,那么集合A叫 作集合B的子集。 设有两个集合A和B,如果A包含于 B且B 包含于 A,则称A与B相等,记为A=B, 即两个集合A和B相等,指集合A与B含有 A B A B 相同的元素。
软件学院参加省大学生程序设计 大赛的讲座
主讲教师:粟光好
主要内容
湖南省大学生程序设计大赛介绍 软件学院的选拔流程 软件学院的赛前培训工作 软件学院的历年比赛结果 参赛队员的知识素养
一、湖南省大学生程序设计大赛 介绍
1、大赛宗旨 旨在培养和激励高校学生的创造力、团队合作 精神以及在软件开发过程中的创新能力。将在 国际上颇具影响的ACM国际大学生程序设计竞 赛(ACM/ICPC)引入校园,提高广大学生开展 (ACM/ICPC) 计算机程序设计的兴趣和能力,推动大学计算 机基础课程的教学改革,给广大在计算机程序 设计方面有特长的同学提供展示才能的舞台, 同时也可检验学生在压力下进行开发活动的能 力,展示各高校实力,也为加强湖南省内各高 校之间的交流和相互学习提供了机会 。
一、湖南省大学生程序设计大赛 介绍
5、官方网站 http://www.hncef.org/
二、软件学院的选拔流程
1、数学竞赛 时间:秋季 2、编程竞赛 时间:春季 3、结合数学竞赛与编程竞赛的结果选出 暑假培训的队员(40人左右)
三、软件学院的赛前培训工作
1、暑假集训 时间:7月至8月大约一个月 2、组队模拟训练 时间:8月大约半个月 3、参加模拟竞赛 时间:周末
进制问题
输入一个数n,求他的8进制? 其实就是一个不断求余数的过程 设a为n除8的商,设b为n除8的余 1、如果n=0结束,否则做下面动作 2、b=n%8 3、a=n/8 4、n=a 然后跳转到1继续执行
引言
你在软件学院的目标是什么? 学好专业知识技能,对于软件技术专业 同学是能做软件,在毕业时能找个好工 作 大多数编程爱好者追求的目标是什么? 精通计算机,能随心所欲把握计算机, 能用编程语言表达自己的思想
引言
----hacker 要想实现目标应该怎么做? 学好理论知识、多思考、多动手、把每 个学期的项目做好。 成为hacker需要具备什么?wenku.baidu.com编程思维 精通一门编程语言
4、 2009年(第五届) 大专组:一支队伍第二名,获的二等奖, 优秀组织奖
二、数学与编程思维
五、数学与编程思维
引言 计算机与数学 计算机编程 算法与算法描述 数学与编程思维 数论 集合
主要内容
数列 几何学 线性规划 排列组合 数据结构 图论
参考书籍
《计算机数学基础》 《实用算法的分析与程序设计》 《图论的算法与程序设计》 《组合数学的算法与程序设计》
引言
对计算机系统了解比较深 在开源论坛中讨论,学习他人的经典代 码、发布自己的软件。 愿意解决计算机中的难题 不能破坏社会
计算机与数学
发明计算机是为了解决什么 为了解决大型计算,比如解上万个未知 数的方程组等 计算机的cpu主要执行算术运算、逻辑运 算 Fortran语言就是为数值计算而设计的第 一门高级语言。
素数与合数
素数定义: 一个大于1的正整数,只能被1和它本身 整除,不能被其他正整数整除,这样的 正整数叫做素数(或称质数) 合数定义: 一个正整数,除了能被1和它本身整除外, 还能被其它正整数整除,这样的正整数 叫做合数。
同余
在日常生活中,我们常常用到整数用某一个固 定的正整数去除所得余数,例如,我们问现在 是几点钟,就是用24去除一个总的时数所得的 余数,又如问今天是星期几,就是用7去除一 个总的天数所得的余数,比如1978年的元旦是 星期日,请问1979年的元旦是星期几?因为 1978年有365天,而365=7*52+1,所以1979的 元旦应该是星期一。这些都是数学中的“同余” 在生活中的体现
集合的运算 律
交换律 结合律 分配律 对偶律
解答
解:设A、B、C分别为选修C、C++、 Java的人员集合。 据题意有|A∩ B∩ C|=100 |A∩ B|=150,|A∩ C|=160,|B∩ C|=170
|A|=250 |B|=260 |C|=270 问题所求为|A∪ B∪ C| =|A |+| B |+| C|-|A ∩ B|-|A ∩ C|-|B ∩ C|+|A ∩ B ∩ C|=250+260+270-150-160170+100=780-480+100=400
给你一个正整数n,要求判断他是否为素 数 一般解法: 用n除以2到n-1的所有数,如果没有一个 数能整除,则为素数;只要有一个数能 整除,则不是素数。 比如:13
判断素数
用13除以2,3,4,5,6,7,8,9,10, 11,12。没有一个数能整除,所以13为 素数。 比如:25 用25除以2,3,4,5。因为5已经能整除 了,后面的数可以不做,25不是素数
数学与编程思维
在解决某个问题时,先分析问题,然后 再建立数学模型,在针对该模型转化为 编程思维
数学与编程思维
主要数学知识点 集合 数论 数列 几何学 线性规划 排列组合
数学与编程思维
数据结构 图论
集合
主要知识点 集合概念 集合之间的关系及运算
集合应用
在软件学院,已知每个学生都选修至少 一门编程语言,其中C、C++、Java都选 修人有100人,其中C、C++都选修人有 150人,其中C、Java都选修人有160人, 其中Java、C++都选修人有170人,其中C、 选修人有250人,其中C++选修人有260人, 其中Java选修人有270人,问软件学院有 多少学生?
集合定义: 指具有某种共同属性的一些对象的总体,构 成集合的对象称为集合的元素。 集合具有三个性质 : 1、互异性,即集合中的任意两个元素都是 不相同的,相同的元素只能算一个。 2、无序性,即集合与它的元素顺序无关。 3、确定性,即集合中的元素必须是确定的, 不能模棱两可,例如,某班所有的高个子同 学就不能组成集合。
四、软件学院的历年比赛结果
1、2006年(第二届) 参加比赛的81支队伍中第23名,获得优胜奖
四、软件学院的历年比赛结果
2、 2007年(第三届) 93支队伍参与 ,一支队伍排在45名 3、 2008年(第四届) 共有90支高校队伍参加了比赛,二队排在 48名,一队排在50名,三队排在57名
四、软件学院的历年比赛结果
集合的运算
设有集合A和B,由A和B的所有元素构 成的集合,称为集合A与B的并,记为 A∪B,即A∪B={x|x∈A或x∈B} 设有集合A和B,由即属于A又属于B的所 有元素构成的集合,称为集合A与B的交, 记为A∩B,即A∩B{x|x∈A且x∈B}
集合的运算
设有集合A和B,由属于A而不属于B的所 有元素构成的集合,称为集合A与B的差, 记为A-B,即A-B={x|x∈A且x不属于B} 设集合A是全集的子集,由全集中所有不 属于A的元素构成的集合,称为A的补集, 记为 即 ={x|x∈U且x不属于A}
3. 算法的描述
(1)自然语言 (2)框图语言 ) 传统程序流程图 N-S结构流程图
(3)伪代码 )
求两个整数之和。 例 求两个整数之和。
解题的基本思路: 解题的基本思路: (1)准备两个整数; (1)准备两个整数; 准备两个整数 (2)作加法运算; 作加法运算; 作加法运算 (3)将运算的结果存放在哪里; 将运算的结果存放在哪里; 将运算的结果存放在哪里 (4)输出和。 输出和。 输出和
3、比赛规则 、 大赛采用ACM/ICPC规则与方式。 a. 竞赛试题:6-10题(中文,注:从明年第四届开始将过渡采用英文命 题); b. 比赛时间:5小时; c. 竞赛时,允许参赛队员携带参考书、手册等纸质参考资料,不准携带任何 电子工具和电子媒质资料; d. 试题的解答通过网络提交。提交正确与否,网络及时反馈给参赛队。在比 赛过程中,每次不正确的提交将被加罚20分钟。 e. 正确解答两道题及两道题以上的队伍有资格参加排名。排名根据正确解题 的数目进行。在决定获奖的队伍时,如果多支队伍解题数目相同,则根 据总耗时间与惩罚时间之和进行排名。 f. 竞赛所用编程语言为C、C++、Java和Pascal。操作系统为Windows或Linux。 g. 每支队伍使用一台计算机,所有队伍使用计算机的规格配置完全相同。
计算机与数学
数学可以证明计算机的可信性 数学侵透到计算机的各种技术中 数学可以促进计算机技术的发展
计算机编程
对于编程还没有入门的你需要学哪些知 识? 数学思维 算法 一门编程语言
算法与算法描述
1. 求解问题的步骤
(1)分析问题。 分析问题。 (2)算法分析。 )算法分析。 (3)程序设计。 )程序设计。 (4)程序调试。 )程序调试。 (5)运行与维护。 )运行与维护。
2.算法与算法的特性 2.算法与算法的特性
算法(Algorithm),简单地说,是为解决一个特定 算法(Algorithm),简单地说, ),简单地说 问题而采取的确定的、有限的方法和步骤。 问题而采取的确定的、有限的方法和步骤。
(1)有穷性。 有穷性。 (2)确定性。 确定性。 (3)可行性。 可行性。 (4)输入。 输入。 (5)输出。 输出。
一、湖南省大学生程序设计大赛 介绍
2、参赛对象 湖南省内各高等学校均可组团参赛。每 个参赛团由1-4队组成,可设领队1人。 1 4 1 每队3名正式队员,1名替补队员,可设 3 1 教练1人。每支队伍可取1个有特色的名 称,名称自定。 所有参赛队员必须是具有正式学籍的全 日制在校本科或专科学生
一、湖南省大学生程序设计大赛 介绍
辗转相除法
假设为a被除数,b为除数,r为a除以b的余数 根据辗转相除法定理有如下步骤: 1、如果b=0,结束运算,否则做2--4 2、r=a%b; 3、a=b 4、b=r,跳到1。
辗转相除法
例如:求14与21的最大公约数 a b r 14 21 14 21 14 7 14 7 0 7 0
判断素数
集合在计算机编程中应用
数组 数据结构中的树、图等 查找 排序
数论
主要知识点 素数 求余 公约数 同余定理
数论应用
1、任意报出两个正整数m、n,要求说出 他们的最大公约数和最小公倍数 2、给你一个正整数,要求判断他是否为素 数(质数) 3、对于给出的三个正数a,b,c,计算a的b次方 除以c的余数。
一、湖南省大学生程序设计大赛 介绍
4、奖励办法 、 a.大赛设特等奖、一等奖、二等奖、三等奖四个奖励等次。其中,特 等奖1个,奖金3000元;一等奖3个,每个奖金2000元;二等奖4个, 每个奖金1000元;三等奖5个,每个奖金500元;优秀奖若干个, 每个颁发价值100元的纪念品。 b. 获特等奖的队伍必须正确解答全部题目并且比赛排名第一名,其 他获奖队伍根据比赛排名确定获奖等级。以学校为单位计算团体 总分。将大赛特定“**杯”授予团体总分第一名的学校;设“** 优胜杯”,授予团体总分第二至第六名的学校;设优秀组织奖3个 左右。 c. 团体总分是参赛学校所有参赛队伍正确解题数目的总和。如果多 个学校团体总分相同,则根据学校所有参赛队伍的总耗时间进行 排名。