题目大意:求半衰期。w为样品中碳的重量,以克为单位,d为一小时内的衰变数目。题目中给出了碳的衰变规律即810/小时周期T=5730.
衰变公式为:m=M*(1/2)^(t/T) m为反应后质量,M反映前质量,T为周期
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
int w,d;
int casenum=1;
while(scanf("%d %d",&w,&d)!=EOF)
{
if(w==0)
break;
int T=5730;
double res=1.0*d/w;
double ans=log(810/res)/log(2.0);
ans*=T;
if(ans<10000)
{
ans=((int)ans+50)/100*100;
}
if(ans>10000)
{
ans=((int)ans+500)/1000*1000;
}
printf("Sample #%d\n",casenum++);
printf("The approximate age is %.0f years.\n",ans);
printf("\n");
}
return 0;
}