刘汝佳《算法入门经典》答案

刘汝佳《算法入门经典》答案

ID:41668620

大小:67.19 KB

页数:17页

时间:2019-08-29

刘汝佳《算法入门经典》答案_第1页
刘汝佳《算法入门经典》答案_第2页
刘汝佳《算法入门经典》答案_第3页
刘汝佳《算法入门经典》答案_第4页
刘汝佳《算法入门经典》答案_第5页
资源描述:

《刘汝佳《算法入门经典》答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.double类型的输出格式为“%lf”•2.doublepi=4.0*atan仃.0);这样比较精确。3.printf(〃『』);可以在输出前补充上0,但是换做其他的字符就不可以了。4•绝对值的输出用%d,如:printf("%d",abs(TO));不可以用%£第二章循环结构程序设计(2011-07-2121:40:01)[编辑][删除]标签:分类:算法竞赛入门经典杂谈1.调试程序的新方法:IDE,gdb.(还没有学会)2.判断是否是整数floor(m+0.5)二二m・1.AABB问题:法一:列

2、举,然后判断是否是完全平方数,m二1100*a+ll*b;m==floor(m+0.5)法二:枚举所有的数,然后分离位数,分别判断是否相等。2•阶乘之和问题:输出结果的后六位printf(/,%d/,,s%100000)3•使用计时器,可以测试程序的效率#includeprintfC%.21f,z,(double)clock()/CLOCKS_PER_SEC);注意的是,将其放入程序时,测试时会把键盘输入的时间一块算上,而如果不计可以使用命令行测试。4.文件操作:(1)输入输出重定向:

3、ttdefineLOCALintmain(){ttifdefLOCALfreopen(,zdata・in","r",stdin);freopenC^data.out",stdout);ttendif(2)文件的保存和读取:intmainOFILE*fin,*fout;fin=fopen(,zdata・in",〃rb〃);fout二fopen("data,out","wb");fscanf(fin,〃%d〃,&a);fprintf(fout,"%d",a);fclose(fin);fclose(fo

4、ut);}第三章:数组和字符串(2011-07-2220:27:54)[编辑][删除]标签:分类:算法竞赛入门经典杂谈1.当数组需要开的很大的时候,数组a[1000]的定义放到main函数外,否则会异常退出。2•字符串其实就是数组,所以字符串里的函数在数组里同样适用,如memset(b,a,sizeof(int)*k):在a中复制k个元素给b,是从首元素开始的。memset(b,a,sizeof(a))把整个全部复制amemset(a,0,sizeof(a)):将a全部初始化为0o1.开灯问题:控制等

5、的开关:if(j%i==0)a[j]=!a[j](之前要调用mcmset(a,0,sizeof(a)))2.蛇形填数:四个循环走:下一左一右一上;外面再套一层循环,控制个数。3.最长回文:(1)怎样读取(2)怎样原样输出(3)怎样判断是否是冋文(1)不可以用scanf因为不可以读取空格,fgets(buf,sizeof(buf),stdin),从标准输入流中读取,也可以从文件中读取,但此时读取的是一整行。字符操作函数:isalpha,isdigital,isprint,isupper,islower,

6、toupper,tolower,他们的返回值都是int型。(2)读取以后为了方便要把所有的字符转换成大写,但是要原样输出,所以要重新定义一个数组存放之前地字符串,并且设置一个数组存放他在原来字符串中的位置。(3)判断回文;可以从头开始,但是从中间开始会更简便(要注意奇数个和偶数个的处理是不一样的)第七章暴力求解(2011-07-2814:49:10)[编辑][删除]标签:分类:算法竞赛入门经典杂谈7.1简单枚举7.1.1除法输入正整数n,按从大到小的顺序输出所有形如abcde/fghij=n的表达式,

7、其中a~j为0~9的数字(不可重复)。2Un<=79.样例输入:62样例输出:79546/01283=6294736/01528=62#include〈iostream>#includeusingnamespacestd;intfindstartvalue(intm)//求的第一个是m的倍数的5位数{intml=m*1234;intm2二(1234/m+l)*m;;//防止m很小Teturnml>m2?ml:m2;}boolcheck(intmO,charflag[10]){for(

8、intk=0;k<5;k++)//不可以用while(m0>0)因为这样如果除数中有0就测不出来了{if((++flag[m0])>1)returnfalse;m0/二10;}Teturntrue;}voidfoo(intm)intm0=findstartvalue(m);for(;m0<98766;mO+=m)//mO的最大数是98765{charflag[10]={0};if(check(mO,flag)==false)continue;//检查被除

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

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

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