核反应堆问题
2015-05-20 21:40
253 查看
问题描述
某核反应堆有两类事件发生:
(1)高能质点碰击核子时,质点被吸收,放出3个高能质点和1个低能质点;
(2)低能质点碰击核子时,质点被吸收,放出2个高能质点和1个低能质点。
假定开始的时候(0微秒)只有一个高能质点射入核反应堆,每一微秒引起一个事件发生(对于一个事件,当前存在的所有质点都会撞击核子),试确定n微秒时高能质点和低能质点的数目。。
设计细节
核反应堆问题可以看作最基本的迭代法求解的问题,所以几年前,有个GG很神气地对我说:“这课题我半小时就做完了!”其实他只写了一个main()和不到20行代码,输入输出只有一句话。
如果是一道程序题,他当然算做完了,但是课程设计与编程练习最大的区别,就是课程设计一定要发扬俄罗斯战列舰的精神,用各种武器堆满甲板——正式地说,就是要充分覆盖C语言课程的所有章节,把所有学过的都用一遍,然后再来讲讲一二三四五,用了什么,怎么用的,效率、可读好不好。
在这个问题里,一定要想到程序是“一直”运行的,所以,迭代的效率一定是不理想的,要用数组把已经计算出来的结果存起来,叫以空间换时间也行,叫打表法也行,叫动态规划法也行。
两个细节:第一,因为存在高能质点和低能质点,所以两个一维数组就不如一个结构体数组;第二,质点个数的类型为long,数组的最大长度为17,也就是16秒以后的结果是算不出来的,这里要讨论为什么。
然后,就带来一个延伸的问题:如果一定要16秒以后的数据,怎么办?到了这一步可以发现,在看似简单的核反应堆问题里,其实隐藏了一个大数相加问题。
参考设计
这里没有考虑大数相加问题,只是解决了动态规划,并且尽量地覆盖了一下C语言的各个章节,还是那句老话,自己写得出来就不要下了。点击打开链接
某核反应堆有两类事件发生:
(1)高能质点碰击核子时,质点被吸收,放出3个高能质点和1个低能质点;
(2)低能质点碰击核子时,质点被吸收,放出2个高能质点和1个低能质点。
假定开始的时候(0微秒)只有一个高能质点射入核反应堆,每一微秒引起一个事件发生(对于一个事件,当前存在的所有质点都会撞击核子),试确定n微秒时高能质点和低能质点的数目。。
设计细节
核反应堆问题可以看作最基本的迭代法求解的问题,所以几年前,有个GG很神气地对我说:“这课题我半小时就做完了!”其实他只写了一个main()和不到20行代码,输入输出只有一句话。
如果是一道程序题,他当然算做完了,但是课程设计与编程练习最大的区别,就是课程设计一定要发扬俄罗斯战列舰的精神,用各种武器堆满甲板——正式地说,就是要充分覆盖C语言课程的所有章节,把所有学过的都用一遍,然后再来讲讲一二三四五,用了什么,怎么用的,效率、可读好不好。
在这个问题里,一定要想到程序是“一直”运行的,所以,迭代的效率一定是不理想的,要用数组把已经计算出来的结果存起来,叫以空间换时间也行,叫打表法也行,叫动态规划法也行。
两个细节:第一,因为存在高能质点和低能质点,所以两个一维数组就不如一个结构体数组;第二,质点个数的类型为long,数组的最大长度为17,也就是16秒以后的结果是算不出来的,这里要讨论为什么。
然后,就带来一个延伸的问题:如果一定要16秒以后的数据,怎么办?到了这一步可以发现,在看似简单的核反应堆问题里,其实隐藏了一个大数相加问题。
参考设计
这里没有考虑大数相加问题,只是解决了动态规划,并且尽量地覆盖了一下C语言的各个章节,还是那句老话,自己写得出来就不要下了。点击打开链接
相关文章推荐
- //水题五道//dp入门//手机短号//小兔的棋盘//数塔问题//核反应堆//简易版之最短距离
- 一个图形分割问题[答网友]
- SERV-U使用局域网中共享文件夹作FTP文件服务(部分解决,还存在问题待解决)
- 在英文操作系统里,执行包含中文的SQL语句,乱码的问题!
- 常见的回车焦点按钮问题
- MySQL Can't create/write to file 'c:/windows/temp/#sql_2d0_0.MYD' 问题的解决
- Windows上Oracle开放防火墙端口问题[转载]
- 最短带权路径问题的解法::Dijkstra & Floyd
- VS2005无法创建智能设备项目的问题
- 【转载】同事对项目UI问题案例分析培训的总结
- hibernate 的小问题 could not fetch initial value for increment generator
- 又是问题~~~
- Linux中的SSH终端乱码问题的解决
- 过滤器处理中文乱码问题
- 关于存在历史数据的表新增约束的问题
- 目前智能科学研究的十个基本问题
- oracle添加字段引起的问题
- 未将对象引用设置到对象的实例--可能出现的问题总结
- 亚当姆斯预报_校正系统解一阶微分的初值问题