class yang2:
def __init__(self):
self.n = 0
self.sum = 0
def ac(self,i,j):
down = eval('*'.join(map(str,range(1,j+1))))
up = eval('*'.join(map(str,range(i-j+1,i+1))))
# down = 1
# up = i
# for n in range(1,j+1):
# down = down * n
# if(i-n+1 != i):
# up = up * (i-n+1)
return int(up/down)
def loc(self,i,j):
for n in range(0,i):
self.sum += n+1
self.sum = self.sum +j+1
return self.sum
def result(self):
self.n = int(input())
i = 1
j_mid = 1
br = 1
if(self.n == 1):
print(1)
br = 0
while(br == 1):
if(self.ac(i,j_mid) < self.n):
i += 1
j_mid = int(i*0.5)
elif(self.ac(i,j_mid) == self.n):
print(self.loc(i,j_mid))
br = 0
break
elif(self.ac(i,j_mid) > self.n):
while(br == 1):
j_mid -= 1
if(self.ac(i,j_mid) == self.n):
print(self.loc(i,j_mid))
br = 0
break
if __name__ == '__main__':
result = yang2()
result.result()
蓝桥杯 杨辉三角形
最新推荐文章于 2025-08-05 20:06:07 发布