描述我們都知道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一步一步給自己加碼,而你還在高喊著 二十我不惑 作為大學生的你,暑假其實是不可多得的提公升機會 而作為一名預備役的程式設計師,在學...