题目大意:
1.设原本的质量M 经过t年后剩余的为m
2.衰变的速度为d/w
3.有题意知衰变速度和剩余的质量成正比 kd/w=m 又特殊值405的衰变速度为1g得到系数k=1/405
4.又因为810的衰变速度是质量为M的时候的速度得到 快k*810=m 所以M=2
5.由5730年c14减少一半列出等式
6.M*( (1/2)^(t/5730) ) = m = kd/w =d/(405*w)
7.代入数据经化简得到具体的t=5730*log2 (810*w/d+0.0);
解题思路:
带公式就好了
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int count;
float year,w,d,rem;
count=0;
while(scanf("%f%f",&w,&d)&&w)
{
rem=d/w;
year=log(810/rem)/log(2.0);
year*=5730;
if(year<10000)
year=((int)year+50)/100*100;
else
year=((int)year+500)/1000*1000;
printf("Sample #%d\nThe approximate age is %.0f years.\n\n", ++count, year );
}
return 0;
}