核反應堆
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9712 Accepted Submission(s): 4456
高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點;
低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。
假定開始的時候(0微秒)只有一個高能質點射入核反應堆,每一微秒引起一個事件發生(對於一個事件,當前存在的所有質點都會撞擊核子),試確定n微秒時高能質點和低能質點的數目。
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n;
__int64 h[35],l[35];
while(scanf("%d",&n)&&n!=-1)
{
h[0]=1,l[0]=0;
for(int i=1;i<=n;i++)
{
h[i] = 3*h[i-1]+2*l[i-1];
l[i] = h[i-1]+l[i-1];
}
printf("%I64d, %I64d\n",h[n],l[n]);
}
return 0;
}