e378. 撞來撞去

題目 Problem

題目連結:https://zerojudge.tw/ShowProblem?problemid=e378

敘述 Description

現在地板上有兩個立方體和一面垂直於地板的牆壁

離牆壁較遠的立方體以等速撞上另一個立方體,使其撞上牆壁並以原路徑反彈

假設沒有摩擦力且所有碰撞均為完美彈性碰撞(也就是沒有能量散失)

且離牆壁較遠的立方體的質量是離牆壁較近的立方體的10x倍

給你x,請求出總共會碰撞幾次

輸入 Input

每一行一個非負偶數x(x<923)

輸出 Output

總共會碰撞幾次

範例輸入 Sample Input

1
0

範例輸出 Sample Output

1
3

提示 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
/*
Author: Jerry Yang C.H. (tico88612)
Date: 2019/9/18
*/
#include <iostream>
using namespace std;
string pi = "314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513";

/********** Good Luck :) **********/
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}$
才想起以前有看過類似的東西


e378. 撞來撞去
https://blog.yangjerry.tw/2019/09/18/zj-e378/
作者
Jerry Yang
發布於
2019年9月18日
許可協議