1_2.cpp
来自「粒子数问题算法」· C++ 代码 · 共 39 行
CPP
39 行
/*题目:
核反应堆中有α和β两种粒子,
每秒钟内一个α粒子可以反应产生3个β粒子,
而一个β粒子可以反应产生1个α粒子和2个β粒子。
若在t=0时刻的反应堆中只有一个α粒子,
求在t时刻的反应堆中α粒子和β粒子数。
*/
/*题前分析:α=3β,β=α+2β。*/
#include<iostream>
using namespace std;
const int max=1000;//假设一个时间限制,可以修改的
int a[max],b[max];//数组a,b分别保存α、β粒子的个数
void deal_t(int t)
{
int i;
for(i=1;i<=t;i++)
{
a[i]=b[i-1];
b[i]=3*a[i-1]+2*b[i-1];
}
}
void main()
{
int t;
a[0]=1;b[0]=0;//初项确定
//现在会有一个输入,即将时间t输入
while(t<0||t>=max)
{
cout<<"请输入时间t:";
cin>>t;
}
/*时间t已经处理了,需要思考核反应的过程了:
可以用一个函数来处理,并将显示出结果。*/
deal_t(t);
cout<<"在t="<<t<<"时刻,反应堆里有"<<a[t];
cout<<"个α粒子和"<<b[t]<<"个β粒子\n";
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?