问题:
某核反应堆有两类事件发生:
高能质点碰击核子时,质点被吸收,放出3个高能质点和1个低能质点;
低能质点碰击核子时,质点被吸收,放出2个高能质点和1个低能质点。
假定开始的时候(0微秒)只有一个高能质点射入核反应堆,每一微秒引起一个事件发生(对于一个事件,当前存在的所有质点都会撞击核子),试确定n微秒时高能质点和低能质点的数目。
分析:简单递推...
高能质点碰击核子时,质点被吸收,放出3个高能质点和1个低能质点;
低能质点碰击核子时,质点被吸收,放出2个高能质点和1个低能质点。
假定开始的时候(0微秒)只有一个高能质点射入核反应堆,每一微秒引起一个事件发生(对于一个事件,当前存在的所有质点都会撞击核子),试确定n微秒时高能质点和低能质点的数目。
分析:简单递推...
#include<iostream>
using namespace std;
long long time[50][2]={1,0};
int main(){
int n;
for(int i=1;i<=34;i++){
time[i][0] = time[i-1][0] * 3+time[i-1][1] *2;
time[i][1] = time[i-1][0] + time[i-1][1];
}
while(scanf("%d",&n) != EOF && n!=-1){
cout<<time[n][0]<<", "<<time[n][1]<<endl;
}
return 0;
}