Python程式檢查能否透過跳躍到達位置n
假設有一條從1到n的數軸。一開始我們在位置0,跳一步到1,然後跳兩格到3,再跳三格到6,以此類推。我們需要檢查是否能按照這種方式到達位置n。
所以,如果輸入n = 21,則輸出為True,因為1+2+3+4+5+6 = 21
為了解決這個問題,我們將遵循以下步驟:
- j:= (1 + √(1+8*n)) / 2
- 如果|j - j的整數部分| <= 0,則
- 返回True
- 否則返回False
示例
讓我們看看下面的實現以更好地理解:
from math import sqrt
def solve(n):
j=(1+sqrt(1+8*n))/2
if abs(j-int(j))<=0:
return True
else:
return False
n = 21
print(solve(n))輸入
21
輸出
True
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP