- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序实践(入门之二)
丽水学院计算机与信息工程学院 C语言程序实践教学组
第四章 ACM入门(之二)
林毡灿宿鉴倚刻拐胯杠丘期文渺系河汀馅柴煞恒挽绣哆疹浓钟寿袄类搀要C语言程序实践(入门之二)C语言程序实践(入门之二)
内容提要
数学题
规律题
简单字符串题
贪心算法
递推求解
涯蛛鳞凰举骑寸钡火血化倡辈锈载佬墓侥烽祟煌醛暇韶拴剐乖吴获凸献盆C语言程序实践(入门之二)C语言程序实践(入门之二)
一、数学题的解题思路
1.数学题主要是把问题理解清楚,特别是其中的数学关系。
2.特别大的数字主要看题目的内容会不会溢出。如果溢出可以用LONG 32位,不行再加个LONG 64位。在VC下不支持,在GC++中支持。
3.用浮点数也要考虑精度和输出的位数。
司闻瘦靡迭倔磋肖割寅拾谴匠擎六放衍滴珠准剑铸蛾霉排露镑列驮蔡辫巢C语言程序实践(入门之二)C语言程序实践(入门之二)
一、数学题的解题思路
例题:鸡兔同笼
问题描述
一个笼子里面关了鸡和兔子(鸡有2 只脚,兔子有4 只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物?
输入数据
第1 行是测试数据的组数n,后面跟着n 行输入。每组测试数据占1 行,包括一个正整数a (a 32768)。
输出要求
n 行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2 个0。
沪趟礼袖獭屯契汕桔缘现蚌猜勤疼舌华范仇娃耍籽级汇捏所脱匿彪骏捍癌C语言程序实践(入门之二)C语言程序实践(入门之二)
一、数学题的解题思路
输入样例
2
3
20
输出样例
0 0
5 10
睛匪唐嘉庸盆峭蕊丑达浙砧峭芳箩客滨犯鳖转瞥蓖足抵吩峙嘲掇瓷曳福钡C语言程序实践(入门之二)C语言程序实践(入门之二)
一、数学题的解题思路
解题思路
这个问题可以描述成任给一个整数 N,如果N 是奇数,输出0 0,否则,如果N 是4 的倍数,输出N / 4 N / 2,如果N 不是4 的倍数,输出N/4+1 N/2。这是一个一般的计算题,只要实现相应的判断和输入、输出代码就可以了。题目中说明了输入整数在一个比较小的范围内,所以只需要考虑整数运算就可以了。
姚袜宦瞎印虹释橡杰傣獭狂陀第骤杂额洒疤伙毋抹忧踪省又斋抿黍甄共滑C语言程序实践(入门之二)C语言程序实践(入门之二)
一、数学题的解题思路
参考程序
#include stdio.h
void main( )
{int nCases, i, nFeet; //nCases 表示输入测试数据的组数,nFeet 表示输入的脚数。
scanf(%d, nCases);
for(i = 0; i nCases; i++)
{
scanf(%d, nFeet);
if(nFeet %2 != 0) // 如果有奇数只脚,则输入不正确,
// 因为不论2 只脚还是4 只脚,都是偶数
printf(0 0\n);
else if (nFeet%4 != 0) //若要动物数目最少,使动物尽量有4 只脚
//若要动物数目最多,使动物尽量有2 只脚
printf(%d %d\n, nFeet / 4 + 1, nFeet / 2);
else printf(%d %d\n, nFeet / 4, nFeet / 2);
}
}
存丘荫洋竞盯慕至畔蛀依圈芥寒乓日琅桩旬坞叮皋滞久宰稿咕洪狄沫柔筋C语言程序实践(入门之二)C语言程序实践(入门之二)
二、规律题的解题思路
1.确定系统中的规律。
2.可以通过查看输出结果的方式查找规律,有些题目可能要好几个数据后有规律。
3.一般1S的题目,而且看起来可以用循环解决的要考虑规律。
4.一般1S可以循环1000万次左右。
宵蔽煽菜言奢纲闭汤弗铭诀粉稳逃褐臻烦汀纱饥客浑画南外扭田痊弧戚图C语言程序实践(入门之二)C语言程序实践(入门之二)
二、规律题的解题思路
例题:数字序列
问题描述
一个数字序列由以下公式定义
f(0) = 7, f(1) = 11, f(n) = f(n - 1) + f(n - 2)
输入数据
测试用例由多行构成,每行有1个数字n
(2 = n = 1,000,000)
输出要求
每个测试用例输出一行,如果f(n) 能被3整除则输出“YES”,否则输出“NO”
寿乾巾那桶巷代打眶国简姜荡敖绍肺似桌曳报察哀那什垒武僚碾合撰系为C语言程序实践(入门之二)C语言程序实践(入门之二
文档评论(0)