โจทย์
วันแรก (จันทร์) ฝาก 1 บาท วันถัดไปเพิ่ม 1 บาททุกวัน จนวันอาทิตย์ วันจันทร์ต่อไปฝากมากกว่าจันทร์ก่อน 1 บาท หาผลรวมหลัง n วัน
ตัวอย่าง: n = 17 → Output: 75
อัลกอริธึม
- หนึ่งสัปดาห์ = 28 บาท (1+2+...+7)
- คำนวณสัปดาห์เต็มและวันที่เหลือ
- สัปดาห์ที่ k เริ่มที่ k บาท
โค้ด Python
def solve(n):
s = 28
res = 0
if n > 7:
res = s
div = n // 7
for i in range(1, div):
res += s + 7 * i
rem = n % 7
for i in range(1, rem + 1):
res += i + div
else:
for i in range(1, n + 1):
res += i
return res
n = 17
print(solve(n)) # Output: 75
Input / Output
Input: 17
Output: 75