- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
exercise1_ACM
第一次作业
1、平面分割方法
设有n条封闭曲线画在平面上,而任何两条封闭曲线恰好相交于两点,且任何三条封闭曲线不相交于同一点,问这些封闭曲线把平面分割成的区域个数。
输入示例:
3
输出示例:
8
要求:
用两种方法:
得到第n项与其之前已知项之间的关系,程序用递归实现
得到第n项的通项公式,程序直接实现。
解:
每增加一条封闭曲线该曲线就会与之前的每条曲线产生两个交点,所以会增加2(n-1)个交点。
递归关系:f(n)=f(n-1)+2(n-1)(增加几个交点就增加几个平面),f(1)=2
通项公式:f(n)=n(n-1)+2
//(1)
//平面分割方法
int countArea(int n)//递归法
{
if(n==1)
return 2;
else
return countArea(n-1)+2*(n-1);
}
//通项公式法an=2+n(n-1)
int countArea2(int n)
{
return 2+n*(n-1);
}
2、LELE的RPG难题
有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
输入示例:3
输出示例:6
解:递归分析:从f(n-1)增加到f(n)分两种情况:(1)一种是直接在所有已经排好了的f(n-1)序列中插入唯一一个第三色有f(n-1)种;(2)另外是在已经排好了的f(n-2)序列中,插入与缝隙两边其中一个颜色相同的颜色,然后再插入第n个颜色且只需与第n-1种颜色不同有两种,故有2f(n-2)种;
递归关系:f(n)=f(n-1)+2f(n-2),(n=2)
//(2)LELE的RPG难题
int countColor(int n)
{
if(n==2)
return 6;
else if(n==3)
return 6;
else
return countColor(n-1)+*countColor(n-2);
}
假设一个有序数组A[0], A[1], …, A[N-1],编写一个函数int find(int A[], int x),确定一个整数x是否在数组A中,如果在,则返回其位置,否则返回-1
//有序数组元素查找-二分查找
int find(int A[],int n)
{//sizeof(A)sizeof写进函数得不到数组所占的内存数,而仅是一个指针的内存大小
int length=0;//参数数组长度
for(int i=0;A[i]!=0;i++)
{
length++;
}
int left=0,mid,right=length-1;
while(left=right)
{
mid=(left+right)/2;
if(nA[mid])
right=mid-1;
else if(nA[mid])
{
left=mid+1;
}
else
return mid;
}
return -1;}
4、假设数组a中的元素是按从小到大顺序排列的,函数find(int a[], int n, int i, int j, int x)利用二分搜索法确定x是否在含有n个元素的数组a中,如果不在,则参数i为小于x的最大元素的下标,参数j为大于x的最小元素的下标。如果x在数组a中,则i与j相等,都为等于x的元素的下标。
//(4)二分查找定位
void find2(int a[],int n,int i,int j,int x)
{
int left=0,mid,right=n-1;
while(left=right)
{
mid=(left+right)/2;
if(xa[mid])
left=mid+1;
else if(xa[mid])
right=mid-1;
else
{
//找到了
i=j=mid;
return;
}
}
//没找到
i=right;
j=left;
}
5、百鸡问题:有一个人有一百块钱,打算买一百只鸡。到市场一看,公鸡三块钱一只,母鸡两块钱一个,小鸡一块钱三只。现在,请你编一程序,帮他计划一下,怎么样买法,才能刚好用一百块钱买一百只鸡?
//(5)百鸡问题-枚举法
void countChicken()
{
int i,j;double k;//公鸡、母鸡、小鸡
for(i=0;i=33;i++)
for(j=0;j=50;j++)
for(k=0;k=300;k++)
if(3*i+2*j+k/3
您可能关注的文档
- 2015年浙江省考行测真题及解析.doc
- 2015年新课标版物理必修一双基限时练6实验探究小车速度随时间变化的规律.doc
- 2015年迎新晚会主持词11.doc
- 2015年青年教师业务测试题-信息技术(有答案).doc
- 2015年秋季学期高三地理自测题(一).doc
- 2015怀柔越野赛锦标.docx
- 2015年高考数学排列.doc
- 2015年九年级化学模拟试卷.doc
- 2015年沟通与协调测试题.doc
- 2015湖北八校联考历史试题B.doc
- 1、大树的模样课件 湘美版一年级下册.ppt
- 1.《文明的我》课件 2025赣美版美术一年级下册.ppt
- 1.2 二分查找(教学课件)-五年级信息科技下册(清华版2025).ppt
- 《理发师》课件 2025人音版音乐一年级下册.ppt
- 1.1寻访家乡的美食(教学课件)-三年级综合实践活动下册(蒙教版) .ppt
- 《小老鼠上灯台》课件2025人音版音乐一年级下册.ppt
- 1.3 《我的图书漂起来》(课件) 三年级上册综合实践活动浙科版.ppt
- 《寻找春天》(课件)辽海版2025美术一年级下册.ppt
- 《月亮》课件 鄂教版科学二年级下册.ppt
- 《拉勾勾》课件 2025人音版音乐一年级下册.ppt
最近下载
- 大数据数据分析项目实践报告.doc
- Unit 6 Electricity everywhere 第4课时 Writing 教学设计 沪教版英语七年级下册.docx
- 防爆电气设备安装与检验考核试卷.docx
- 情态动词-专题课件(共28张课件).ppt VIP
- 《GB 50318-2017城市排水工程规划规范 》最新解读.pptx
- 河南水投集团所属公司招聘笔试真题2024 .pdf
- Unit 2 Travelling Around 大单元整体教学设计-高中英语人教版必修第一册.docx
- 义务教育生物学课程标准(2022年版).docx
- 新人教版一年级数学下册应用题练习带答案(全套).pdf
- 汉字与服饰文化(文字学).ppt VIP
文档评论(0)