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

โปรแกรม C สร้างตาราง係数 Binomial (Binomial Coefficients Table)

ได้รับค่าจำนวนเต็มบวก val ภารกิจคือพิมพ์ค่า binomial coefficient B(n, k) โดยที่ n และ k อยู่ระหว่าง 0 ถึง val

係数 Binomial คืออะไร?

Binomial coefficient C(n, k) คือจำนวนวิธีเลือก k รายการจาก n รายการ ค่าคำนวณได้จากสูตร:

C(n,k) = n! / ((n-k)! * k!) โดยที่ n ≥ k

ตัวอย่าง

Input: B(9,2)
Output: 252
การคำนวณ: 9! / (7! * 2!) = 362880 / 1440 = 252

ตาราง Binomial Coefficients

ตารางที่แสดงค่า binomial coefficients สำหรับ n และ k ต่างๆ

Input: value = 5
Output: (ตารางแบบ Pascal's Triangle)

แนวทาง

  • รับค่า val จากผู้ใช้
  • ลูป i จาก 0 ถึง val
  • ใช้สูตรเวียนเกิด: B(m, x) = B(m, x-1) * (m - x + 1) / x (ถ้า n และ k ไม่ใช่ 0)
  • พิมพ์ผลลัพธ์

อัลกอริทึม

START
Step 1: ฟังก์ชัน bin_table(int val)
    ลูป i = 0 ถึง val
        พิมพ์ i
        num = 1
        ลูป j = 0 ถึง i
            ถ้า i != 0 และ j != 0
                num = num * (i - j + 1) / j
            พิมพ์ num
        พิมพ์ขึ้นบรรทัดใหม่
Step 2: ใน main() กำหนด value = 5 เรียก bin_table(value)
STOP

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

#include <stdio.h>

int bin_table(int val) {
    for (int i = 0; i <= val; i++) {
        printf("%2d", i);
        int num = 1;
        for (int j = 0; j <= i; j++) {
            if (i != 0 && j != 0)
                num = num * (i - j + 1) / j;
            printf("%4d", num);
        }
        printf("\n");
    }
}

int main() {
    int value = 5;
    bin_table(value);
    return 0;
}

ผลลัพธ์

(แสดงตาราง Binomial Coefficients แบบ Pascal's Triangle สำหรับค่า 0-5)