題目 Problem
題目連結:https://zerojudge.tw/ShowProblem?problemid=e378
敘述 Description
現在地板上有兩個立方體和一面垂直於地板的牆壁
離牆壁較遠的立方體以等速撞上另一個立方體,使其撞上牆壁並以原路徑反彈
假設沒有摩擦力且所有碰撞均為完美彈性碰撞(也就是沒有能量散失)
且離牆壁較遠的立方體的質量是離牆壁較近的立方體的10x倍
給你x,請求出總共會碰撞幾次
每一行一個非負偶數x(x<923)
輸出 Output
總共會碰撞幾次
範例輸出 Sample Output
提示 Hint
輸出的數字可能很大,但是跟大數運算無關
還有,拜託知道的人不要破梗
題解 Solution
想必都點到這裡了,應該是解不出來的,對吧?
那就來破梗吧!答案就在作者身上
……
……
……
什麼?你還是不知道?
給你看這個影片吧!
至於為什麼,參考影片就放這裡,自己看吧!
3B1B —— 偏向數學解答(有中文 CC 字幕)
佑來了 —— 偏向物理解答
程式碼 Accepted Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#include <iostream> using namespace std; string pi = "314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513";
int main() { ios_base::sync_with_stdio(0);cin.tie(0); int N; while (cin >> N){ for(int i = 0; i <= N / 2; i++) cout << pi[i]; cout << '\n'; } return 0; }
|
後記 Afterword
看到這題目我還在想這到底是在供三小
在看到兩個立方體、碰撞、$10^{x}$
才想起以前有看過類似的東西