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

ผลรวมตัวเลขถึง N ที่หาร 2 หรือ 5 ลงตัว ในภาษา C

หาผลรวมจำนวนธรรมชาติถึง N ที่หาร 2 หรือ 5 ลงตัว วิธีที่มีประสิทธิภาพคือใช้หลักการ Inclusion-Exclusion: หาผลรวมหาร 2 ลงตัว + หาร 5 ลงตัว - หาร 10 ลงตัว (เพื่อไม่ให้นับซ้ำ)

สูตรคำนวณ

  • Sum₂ = ((n/2) × (4 + (n/2 - 1)×2)) / 2
  • Sum₅ = ((n/5) × (10 + (n/5 - 1)×5)) / 2
  • Sum₁₀ = ((n/10) × (20 + (n/10 - 1)×10)) / 2
  • ผลรวมที่ต้องการ = Sum₂ + Sum₅ - Sum₁₀

โค้ดตัวอย่าง

#include <stdio.h>

int main() {
    int n = 25;
    long int sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2;
    long int sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2;
    long int sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2;
    long int sum = sum2 + sum5 - sum10;
    printf("Sum is %ld", sum);
    return 0;
}

ผลลัพธ์

Sum is 201