zoj 1242 Carbon Dating

#include<stdio.h>
#include<math.h>
#define d0 810
#define half_life 5730
int main(void)
{
	int w, d,count=0,age;
	double year;
	while (scanf("%d%d", &w, &d) && w && d)
	{
		count++;
		year = (log((double)d0 * w /d ) / log(2.0))*half_life;                    //log()計算以2爲底的自然對數,即log()=ln();
		if (year > 10000)
			age = 1000 * (int)(year / 1000 + 0.5);
		else
			age = 100 * (int)(year / 100 + 0.5);
		printf("Sample #%d\nThe approximate age is %d years.\n\n", count, age);
	}
	return 0;
}
注:1.以上C-14半衰期公式引自  
                                     http://blog.sina.com.cn/s/blog_69f23b380100o0to.html
        2.四捨五入方法引自
                                     http://blog.csdn.net/zxy_snow/article/details/5728636
發佈了28 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章