We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 8f523fc commit 43daf7eCopy full SHA for 43daf7e
Week03/pyramid_aysegul_yildiz.py
@@ -1,15 +1,11 @@
1
-def calculate_pyramid_height(number_of_blocks):
2
- height = 0
3
- used_blocks = 0
+import math
4
5
- for level in range(1, number_of_blocks + 1):
6
- # Taş ihtiyacı: level*(level+1)/2
7
- blocks_needed = level * (level + 1) // 2
+def calculate_pyramid_height(n: int) -> int:
+ if n <= 0:
+ return 0
8
9
- if used_blocks + blocks_needed > number_of_blocks:
10
- break
+ # h(h+1)/2 <= n → h ≤ (sqrt(1 + 8*n) - 1) / 2
+
+ h = (math.isqrt(1 + 8*n) - 1) // 2
+ return int(h)
11
12
- used_blocks += blocks_needed
13
- height = level
14
-
15
- return height
0 commit comments