ACM入门教程-数学问题

ACM入门教程-数学问题

ID:36870512

大小:968.00 KB

页数:62页

时间:2019-05-10

ACM入门教程-数学问题_第1页
ACM入门教程-数学问题_第2页
ACM入门教程-数学问题_第3页
ACM入门教程-数学问题_第4页
ACM入门教程-数学问题_第5页
资源描述:

《ACM入门教程-数学问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ACM程序设计竞赛入门浙江工业大学田贤忠txz@zjut.edu.cn2021/10/712021/10/72第二讲数学问题2021/10/73引例:本校OJ1207http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1207(相似题)杭电1018,求n!的位数http://acm.hdu.edu.cn/showproblem.php?pid=1018Inmanyapplicationsverylargeintegersnumbersarerequired.

2、Someoftheseapplicationsareusingkeysforsecuretransmissionofdata,encryption,etc.Inthisproblemyouaregivenanumber,youhavetodeterminethenumberofdigitsinthefactorialofthenumber.2021/10/74InputInputconsistsofseverallinesofintegernumbers.Thefirstlinecontainsan

3、integern,whichisthenumberofcasestobetested,followedbynlines,oneinteger1≤m≤107oneachlineOutputTheoutputcontainsthenumberofdigitsinthefactorialoftheintegersappearingintheinput.SampleInput21020SampleOutput7192021/10/75如何求位数?算出阶乘,循环求位数?阶乘怎么存储?一定要算出阶乘吗?n!的位

4、数:(int)log10(n!)+1(int)(log10(1)+log10(2)+log10(3)+…+log10(n))+12021/10/76代码怎么写?超时问题怎么解决?能不能降低计算量?有没有更简便的公式?2021/10/77如果不知道高效的计算公式?(int)(log10(1)+log10(2)+log10(3)+…+log10(n))对于每个输入的数都要按上述公式计算如何避免重复计算?先算小数的位数,在此基础上再算大数。(1)每次找最小值?需要存储数据和位数的计算(2)先把算出的log

5、10存储?2021/10/78《计算机程序设计艺术》中给出了另一个公式n!=sqrt(2*π*n)*((n/e)^n)*(1+1/(12*n)+1/(288*n*n)+O(1/n^3))π=acos(-1)e=exp(1)两边对10取对数忽略log10(1+1/(12*n)+1/(288*n*n)+O(1/n^3))≈log10(1)=0得到公式log10(n!)=log10(sqrt(2*pi*n))+n*log10(n/e)2021/10/79数学问题的特点:题意容易理解;数学关联性一般比较大;

6、语言的关联性相对较小;但有时需要相关策略来规避过高的复杂度。要注意复杂度问题;适合ACM/ICPC入门练习。每次竞赛一般会有1-2个数学问题。2021/10/710常用单词:1、integer整数(不一定就是32位的)2、positive正的3、negative(adj)负的;(n)负数4、factorial(n)阶乘;(adj)因子的,阶乘的5、digital(n)数字;(adj)数字的6、multiple倍数7、multiplication乘法运算2021/10/711常用单词:(图形相关)1、

7、vertex(vertices)顶点2、polygon多边形3、convex凸的4、concave凹的5、segment(线)段(n);分割(v)2021/10/712数学问题 (分类分析)2021/10/713第一类简单问题HDOJ1004:LettheBalloonRiseHDOJ1004:LettheBalloonRise题目描述:输入:第一行输入气球的个数n,以下n行输入n个气球的颜色,n为0时结束。输出:哪种颜色的气球数目最多2021/10/715HDOJ1004:LettheBalloo

8、nRiseSampleInput5greenredblueredred3pinkorangepink0Sampleoutputredpink2021/10/7162021/10/717题目评述:1.一个让你看到后兴奋的题目…2.只要懂点C或者C++,就可解决该问题。2021/10/7181004题目分析:该题算法思想比较简单,就是对输入的字符串进行比较和统计。值得注意的一点是:如果用C语言来写,要注意可能会把第一个数字后的“回车符”误认为是第一个串,字符串的比较也要用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。