- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、鸡兔同笼
问题描述
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物
输入数据
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (a 32768)。
输出要求
n行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2个0。
输入样例
2
3
20
输出样例
0 0
5 10
解题思路
这个问题可以描述成任给一个整数N,如果N是奇数,输出0 0,否则如果N是4的倍数,输出N / 4 N / 2,如果N不是4的倍数,输出N/4+1 N/2。这是一个一般的计算题,只要实现相应的判断和输出代码就可以了。题目中说明了输入整数在一个比较小的范围内,所以只需要考虑整数运算就可以了。
参考程序
#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);
}
}
二、判断闰年
问题描述
判断某年是否是闰年公历纪年法中,能被4整除的大多是闰年,但能被100整除而不能被400整除的年份不是闰年,如1900年是平年,2000年是闰年。一行,仅含一个整数a(0 a 3000)一行,如果公元a年是闰年输出Y,否则输出N– 分段排除:
如果a % 4 ! = 0,则a不是闰年;
否则如果a % 100 == 0 a % 400 != 0,则a不是闰年;
否则a是闰年。
参考解法二 – 列出所有闰年的可能条件,满足条件则为闰年,否则判为非闰年:
如果 (a % 400 == 0 || (a % 4 == 0 a % 100 != 0)), 则a是闰年;否则 a不是闰年。
参考程序一:
#include stdio.h
void main()
{
int a; //记录待判定的年份
scanf(%d, a);
if(a % 4 != 0)
printf(N\n);
else if(a % 100 == 0 a % 400 != 0)
printf(N\n);
else
printf(Y\n);
}
参考程序二:
#include stdio.h
void main(){
int a;
scanf(%d, a);
if((a % 4 == 0 a % 100 != 0) || a % 400 == 0)
printf(Y\n);
else
printf(N\n);
}
三、细菌繁殖
问题描述
一种细菌的繁殖速度是每天成倍增长。例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。第一行有一个整数n,表示测试数据的数目。其后n行每行有5个整数,整数之间用一个空格隔开。第一个数表示第一天的月份,第二个数表示第一天的日期,第三个数表示第一天细菌的数目,第四个数表示要求的那一天的月份,第五个数表示要求的那一天的日期。已知第一天和要求的一天在同一年并且该年不是闰年,要求的一天一定在第一天之后。数据保证要求的一天的细菌数目在整数范围内。对于每一组测试数据,输出一行,该行包含一个整数,为要求的一天的细菌数。2
1 1 1 1 2
2 28 10 3 2
输出样例
2
40
解题思路
这题实际上是求给定的两天之间间隔的天数n,第一天的细菌数乘以2的n次方就是题目的答案。每个月的天数因为不很规则,如果在程序中用规则描述
您可能关注的文档
- 编辑出版学笔记整.doc
- 编写大纲词汇.doc
- 答谢酒会策划.doc
- 等高线地形图的综合应.ppt
- 等级试题A(答案.doc
- 等温线(2013.ppt
- 第八课第二框在文化生活选.ppt
- 第六 章 破产法律制.ppt
- 第六部分,蜜.ppt
- 第六部分:工作协调能.doc
- 锂电池行业研究框架板块周期底部,创新引领未来.pptx
- 金融行业深度研究报告:数字人民币应用进展、产业链分析与投资策略.pptx
- 房地产开发行业2024年三季报业绩综述:营收归母净利仍在调整,市值修复已然进行.docx
- 宠物双11呈高品质健康化趋势,国产品牌加速赶超.docx
- 联影医疗(688271)大国智造医疗影像龙头,创新驱动全球突破.pptx
- 光伏、电池出口退税率下调,海风招标密集发布.docx
- 电子行业动态:体验之AppleIntelligenceVS智谱GLM.docx
- 汽车行业2024Q3业绩综述:优质企业延续高增,看好板块持续成长.pptx
- 华大九天深度报告:国产EDA龙头,自主可控引领长期成长.pptx
- 福昕软件(688095)PDF与OFD版式软件领军者,双转型战略驱动成长.docx
文档评论(0)