QDU首屆易途杯大賽 ycb老師與一道簡單的物理題

2021-08-01 12:02:43 字數 1004 閱讀 9283

描述我們都知道ycb老師是乙個陽剛的人,不僅如此,

ycb老師還是乙個很很紳士的人,一天他看到乙個妹子被乙個箱子擋住了路,於是他想移動這個箱子,幫助妹子清理路障,但是要是用力過猛會的話,

ycb老師怕妹子認為自己是乙個粗魯的人,於是他想知道最小移動箱子的力是多大?

ps:忽略轉動 

, 地面水平,箱子看成質點,

g=9.80665m/s^2,請注意是移動箱子(滑稽.jpg)。

輸入第一行輸入m,n , m表示物體質量,n表示物體與地面摩擦係數 (0=輸出

最小移動箱子的力f,保留6位小數 (printf("%.6f\n",ans);)

樣例輸入1

複製

1 0

樣例輸出1

0.000000

忘了高中物理了怎麼整啊...(笑哭.jpg)

首先利用摩擦角進行分析,可得:u(mg + fsinθ) = fcosθ;

化簡可得:f = u*m*g/(usinθ + cosθ);

所以想到列舉θ,但是若想取得更精確的答案精度就需要更大的列舉精度,一大便又會tle。

再次分析,發現(usinθ + cosθ)是乙個上凸函式,於是利用三分求解即可。

**

#include #include using namespace std;

const long long inf = 0x3f3f3f3f3f3f3f3f;

const double pi = acos(-1.0);

const double g = 9.80665;

const double eps = 1e-8;

double u, m, ans, f, umg;

double calc(double x)

void sanfen()

double k = calc(r);

ans = umg/k;

}int main()

繼續加油~

大學生,CSDN首屆「易騰創想」部落格大賽來了!

少壯不努力,老大徒傷悲 別說 少壯 了,可能乙個暑假,你就會被同桌的小c甩出老遠 小c在家兢兢業業上網課,你在上躥下跳要爬山 小c每晚潛心研究源 你在炸雞啤酒擼著串 小c一步一步給自己加碼,而你還在高喊著 二十我不惑 作為大學生的你,暑假其實是不可多得的提公升機會 而作為一名預備役的程式設計師,在學...