一種細菌的繁殖速度是每天成倍增長。例如:第一天有10個,第二天就變成20個,第三天變成40個,第四天變成80個,……。現在給出第一天的日期和細菌數目,要你寫程序求出到某一天的時候,細菌的數目。
#include<iostream>
using namespace std;
int main()
{ int n;
int a[100]; //根據輸出格式,用數組a存儲需要輸出的值
cin >> n; //次數設爲n
int M[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
for (int i = 1; i <=n; i++)
{ int A, B,k,C,D; //初始值細菌設爲k
cin >>A>> B>> k>>C>>D;
int t=0; //這裏需要求出細菌繁殖經歷的時間記做 t
if (A!=C) //不在同月時
{int benyue = M[A] - B;//當月剩餘天數
for (int j = A+1; j < C ; j++)
{t=t+M[j];} //從A到C月間隔天數
t = t + D+ benyue;}
else //當在同一月時
{t= D- B;}
for (int j = 0;j <t; j++)
{k= k * 2;} //每一天翻一番
a[i]=k;
}
for(int i=1;i<=n;i++)
cout<<a[i]<<endl; //輸出
}