Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมคำนวณเงินในธนาคาร (เพิ่มทุกวัน) ใน Python

โจทย์

วันแรก (จันทร์) ฝาก 1 บาท วันถัดไปเพิ่ม 1 บาททุกวัน จนวันอาทิตย์ วันจันทร์ต่อไปฝากมากกว่าจันทร์ก่อน 1 บาท หาผลรวมหลัง n วัน

ตัวอย่าง: n = 17 → Output: 75

อัลกอริธึม

  1. หนึ่งสัปดาห์ = 28 บาท (1+2+...+7)
  2. คำนวณสัปดาห์เต็มและวันที่เหลือ
  3. สัปดาห์ที่ 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