1246 膨脹的木棍

2022-06-04 03:36:08 字數 1222 閱讀 5334

1246:膨脹的木棍

【題目描述】

當長度為l的一根細木棍的溫度公升高n度,它會膨脹到新的長度l』

=(1+n*c)*

l,其中c是熱膨脹係數。

當一根細木棍被嵌在兩堵牆之間被加熱,它將膨脹形成弓形的弧,而這個弓形的弦恰好是未加熱前木棍的原始位置。

你的任務是計算木棍中心的偏移距離。

【輸入】

三個非負實數:木棍初始長度(單位:公釐),溫度變化(單位:度),以及材料的熱膨脹係數。

保證木棍不會膨脹到超過原始長度的1.5倍。

【輸出】

木棍中心的偏移距離(單位:公釐),保留到小數點後第三位。

【輸入樣例】

1000 100 0.0001

【輸出樣例】

61.329

【分析】

這題初看就一簡單的三函式題:己知弧長、弦長,求扇形半徑與弦心距的差,怎麼還需要程式設計呢?不信,我解給你看,來吧,幹就完了。

解:設弧長為l,弦長為d,半徑為r,扇形中心角為a,中心偏移距離為x。由題目可知:d,n,c為已知量。

l=d*(1+n*c) (可算值)          l=r*a  (1)         r*sina=d/2   (2)

(1)(2) 兩式相乘可消元r得一關於a的方程:l*sina=a*d/2(我的神啊,這方程能解嗎?你們誰有公式可算記得告訴我。)

這個方程就是傳說中的超越方程,目前應該沒有公式(怒我孤陋寡聞的小本科生不會解)。

繼續讀題,尋找線索:「保證木棍不會膨脹到超過原始長度的1.5倍」,這是要給我範圍?有範圍就可以縮小範圍啊,這縮小範圍二分法最拿手,

哦,這是要我們用二分法求解中心角吧,求出中心角其他的就好說了。這個中心角初始範圍定在(0,pi)(pi代表圓周率)

對哦,這個圓周率好像c++沒現成的哦。那用個數學公式換下吧:pi=acos(-1)。那餘下的就簡單了:x=r-r*cos(a/2)。

【見證奇蹟】

//

1246:膨脹的木棍

#include#include

#include

using

namespace

std;

intmain()

alf=m;

r=l/alf/2

; x=r-r*cos(alf);

cout

<

<3)<

return0;

}

1246**

第七章 分治演算法1246 膨脹的木棍

1246 膨脹的木棍 時間限制 1000 ms 記憶體限制 65536 kb 提交數 2257 通過數 686 題目描述 當長度為l的一根細木棍的溫度公升高n度,它會膨脹到新的長度l 1 n c l,其中c是熱膨脹係數。當一根細木棍被嵌在兩堵牆之間被加熱,它將膨脹形成弓形的弧,而這個弓形的弦恰好是未...

openjudge 膨脹的木棍

總時間限制 1000ms 記憶體限制 65536kb 描述 當長度為l的一根細木棍的溫度公升高n度,它會膨脹到新的長度l 1 n c l,其中c是熱膨脹係數。當一根細木棍被嵌在兩堵牆之間被加熱,它將膨脹形成弓形的弧,而這個弓形的弦恰好是未加熱前木棍的原始位置。你的任務是計算木棍中心的偏移距離。輸入三...

1 11 09 膨脹的木棍

描述 當長度為l的一根細木棍的溫度公升高n度,它會膨脹到新的長度l 1 n c l,其中c是熱膨脹係數。當一根細木棍被嵌在兩堵牆之間被加熱,它將膨脹形成弓形的弧,而這個弓形的弦恰好是未加熱前木棍的原始位置。你的任務是計算木棍中心的偏移距離。輸入三個非負實數 木棍初始長度 單位 公釐 溫度變化 單位 ...