`
netalpha
  • 浏览: 81070 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

杰哥私房题──细菌繁殖

阅读更多

问题描述
一种细菌的繁殖速度是每天成倍增长。例如:第一天有10 个,第二天就变成20 个,
第三天变成40 个,第四天变成80 个,……。现在给出第一天的日期和细菌数目,要你
写程序求出到某一天的时候,细菌的数目。
输入数据
第一行有一个整数n,表示测试数据的数目。其后n 行每行有5 个整数,整数之间
用一个空格隔开。第一个数表示第一天的月份,第二个数表示第一天的日期,第三个数
表示第一天细菌的数目,第四个数表示要求的那一天的月份,第五个数表示要求的那一
天的日期。已知第一天和要求的一天在同一年并且该年不是闰年,要求的一天一定在第
一天之后。数据保证要求的一天的细菌数目在整数范围内。
输出要求
对于每一组测试数据,输出一行,该行包含一个整数,为要求的一天的细菌数。
输入样例
2
1 1 1 1 2
2 28 10 3 2
输出样例
2
40

#include <stdio.h>
int main(){
	int nCases;
	int monthDay[] = {31,30,31,30,31,30,31,31,30,31,30, 31};
	scanf("%d", &nCases);
	while(nCases--){
		int aMonth, aDay, bMonth, bDay, bacteria;
		scanf("%d %d %d %d %d", &aMonth, &aDay, &bMonth, &bDay, &bacteria);
		int days = 0;
		int j;
		for(j = aMonth; j < bMonth; j++){
			days += monthDay[j - 1];
		}
		days -= aDay;
		days += bDay;
		unsigned int total = bacteria;
		for(j = 0; j < days; j++){
			total *= 2;
		}
		printf("%d\n", total);
	}
	return 0;
}
 
分享到:
评论
9 楼 netalpha 2009-03-06  
leeldy 写道
netalpha 写道
leeldy 写道

如果是ACM题目,一、LZ的算法肯定超时二、LZ的算法肯定会出现ErrorAnswer考虑极端情况,起始日期是1.1,终止日期是12.31,没有闰年,天数就是364天2的364次方肯定不能用int来保存我的算法:日期相差天数n开始有细菌数s那么到了那天一共有细菌数目是s*(2&lt;&lt;n)数据巨大,需要使用BigDecimal来保存和输出

谢谢你的分析。
对于你所说的问题,首先,你说认为会超时的原因是细菌繁殖的计算吧?我认为即使计算365次也不会超时,这里我用无符号int的范围确实小了点,我不清楚有没有unsigned long,如果有的话到可以用,但是BigDecimal是java的东西,C里面好像没有吧。


用C的话就考虑用数组吧,这样需要不少时间
Long也只有64位二进制,要保存364位的二进制数,你还是采用数组吧
正规的ACM题目的测试数据肯定不会只有1组。。。
一般测试数据都是用txt文件保存,测试的时候读取
我见过的txt测试数据一般都有几M,至于有多少组我就不知道了

呵呵  恩  在过3天我就会就大数问题出几个题目讨论讨论。
8 楼 leeldy 2009-03-06  
netalpha 写道
leeldy 写道

如果是ACM题目,一、LZ的算法肯定超时二、LZ的算法肯定会出现ErrorAnswer考虑极端情况,起始日期是1.1,终止日期是12.31,没有闰年,天数就是364天2的364次方肯定不能用int来保存我的算法:日期相差天数n开始有细菌数s那么到了那天一共有细菌数目是s*(2&lt;&lt;n)数据巨大,需要使用BigDecimal来保存和输出

谢谢你的分析。
对于你所说的问题,首先,你说认为会超时的原因是细菌繁殖的计算吧?我认为即使计算365次也不会超时,这里我用无符号int的范围确实小了点,我不清楚有没有unsigned long,如果有的话到可以用,但是BigDecimal是java的东西,C里面好像没有吧。


用C的话就考虑用数组吧,这样需要不少时间
Long也只有64位二进制,要保存364位的二进制数,你还是采用数组吧
正规的ACM题目的测试数据肯定不会只有1组。。。
一般测试数据都是用txt文件保存,测试的时候读取
我见过的txt测试数据一般都有几M,至于有多少组我就不知道了
7 楼 netalpha 2009-03-05  
ray_linn 写道

这个不用看都知道。。没有两把刷子你能存下天文数字?投一个隐藏

以后我会有个章节处理大数问题的,到时候讨论啦。呵呵
6 楼 ray_linn 2009-03-04  
这个不用看都知道。。没有两把刷子你能存下天文数字?投一个隐藏
5 楼 agapple 2009-03-04  
晕,如果ACM这么简单循环算,那还搞个P
4 楼 netalpha 2009-03-04  
leeldy 写道

如果是ACM题目,一、LZ的算法肯定超时二、LZ的算法肯定会出现ErrorAnswer考虑极端情况,起始日期是1.1,终止日期是12.31,没有闰年,天数就是364天2的364次方肯定不能用int来保存我的算法:日期相差天数n开始有细菌数s那么到了那天一共有细菌数目是s*(2&lt;&lt;n)数据巨大,需要使用BigDecimal来保存和输出

谢谢你的分析。
对于你所说的问题,首先,你说认为会超时的原因是细菌繁殖的计算吧?我认为即使计算365次也不会超时,这里我用无符号int的范围确实小了点,我不清楚有没有unsigned long,如果有的话到可以用,但是BigDecimal是java的东西,C里面好像没有吧。
3 楼 leeldy 2009-03-04  
如果是ACM题目,
一、LZ的算法肯定超时
二、LZ的算法肯定会出现ErrorAnswer

考虑极端情况,起始日期是1.1,终止日期是12.31,没有闰年,天数就是364天
2的364次方肯定不能用int来保存

我的算法:
日期相差天数n
开始有细菌数s
那么到了那天一共有细菌数目是s*(2<<n)
数据巨大,需要使用BigDecimal来保存和输出
2 楼 netalpha 2009-03-04  
xiaoyuerbaby 写道

发错地方了吧 这是java板块啊


语言的东西是不分java和c的,他在于的是你的逻辑性~~
1 楼 xiaoyuerbaby 2009-03-04  
发错地方了吧 这是java板块啊

相关推荐

    需要杰哥讲解的毕设js代码

    需要杰哥讲解的毕设js代码

    C++自制小游戏《杰哥和阿伟》源码(cpp)

    C++自制小游戏《杰哥和阿伟》源码(cpp) C++小游戏,由哔哩哔哩的梗制作而成,切勿当真哦~ 游戏内行为请勿模仿! 原创小游戏,请勿转载或整改~ 记得关注@Ender_momo,短时间内将发布制作过程

    杰哥两套卷.rar

    但根据文件名,我们可以推测“杰哥”可能是资料的作者或提供者,而“两套卷”可能指的是两套数学练习题或模拟试卷,分别针对不同的数学领域。 【标签】虽然为空,但如果我们为这个文件添加标签,可能包括“数学”、...

    前端面试题:前端框架面试题大全

    前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; ...

    计算机组成原理期末常见考试题大全

    计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成原理期末常见考试题大全 计算机组成原理期末题,计算机组成...

    有跟我一样看不懂代码,只能盲抄来理解的吗,杰哥看到了莫生气我自己现在真写不了好了,今天的案例与while语句有关

    有跟我一样看不懂代码,只能盲抄来理解的吗,杰哥看到了莫生气我自己现在真写不了好了,今天的案例与while语句有关

    笔试面试算法题文档.zip

    笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题...

    全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”

    全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”; 全国大学生数学建模大赛真题:2020年全国大学生数学建模竞赛 B 题 - “地下水污染源识别”; 全国大学生数学建模大赛真题...

    计算机类专业部分课后习题与详细解答分析.docx

    计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题与详细解答分析.docx 计算机类专业部分课后习题...

    10道经典算法习题与详细解析.docx

    10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx 10道经典算法习题与详细解析.docx ...

    电赛历年真题查找与经典题目解析+编程知识+技术开发

    电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术...

    百度笔试题汇总 doc格式

    本人收集的几套百度笔试题。 doc格式,需要找工作的可以看看

    美赛历年真题查找与经典题目解析+编程知识+技术开发

    美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术...

    ACM历年真题查找与经典题目解析+编程知识+技术开发

    ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发;...

    蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发

    蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识...

    前端开发面试题大全,涵盖了HTML、CSS、JavaScript、前端框架和工具等方面

    前端面试题:前端开发面试题大全,涵盖了HTML、CSS、JavaScript、前端框架和工具等方面; 前端面试题:前端开发面试题大全,涵盖了HTML、CSS、JavaScript、前端框架和工具等方面; 前端面试题:前端开发面试题大全,...

    【7】Ceph分布式存储架构搭建.docx

    【Ceph分布式存储架构搭建】 Ceph是一种先进的开源分布式存储解决方案,它被广泛应用于OpenStack和CloudStack等云计算框架中,提供对象存储、文件系统和块存储服务。Ceph的独特之处在于其统一存储架构,支持多种...

    Linux环境下的开发项目指南,包括软件安装,环境配置,项目源码,运维调试等方面.docx

    ### Linux 环境下的开发项目指南 在 Linux 环境下进行开发项目不仅仅涉及编写代码,还需要掌握软件安装、环境配置、项目源码管理以及运维调试等多个方面。本指南将详细介绍如何在 Linux 系统中高效地完成开发工作。...

    python深度学习-pandas

    Python 深度学习 - Pandas Pandas 是 Python 中一个流行的数据分析库,提供了高效、灵活的数据结构和数据分析工具。下面是对 Pandas 的详细介绍: 对象的创建 Pandas 中有两种主要的数据结构:Series(一维对象)...

    百度google笔试题汇总

    这份“百度google笔试题汇总”压缩包文件提供了丰富的资源,帮助那些准备实习或全职工作的应聘者提升自己的技术水平和解决问题的能力。 首先,我们来看看“Google笔试题.doc”和“Google笔试题 (1).doc”。这些文档...

Global site tag (gtag.js) - Google Analytics