二項定理は
\begin{align}
(x+y)^{n}= \mathrm{{}_{n} C_{0}} x^{n}y^{0}+ \mathrm{{}_{n} C_{1}} x^{n-1} y^{1}+ \mathrm{{}_{n}C_{2}} x^{n-2}y^{2}+\cdots+ \mathrm{{}_{n} C_{n}} x^{0}y^{n}
\end{align}
で与えられる係数の関係である。
以下二項定理に基づいた係数の計算コード。大きな数には未対応。
#include <stdio.h>
#include <stdlib.h>
#define N 2
int factorial(int);
int pem(int, int);
int com(int, int);
int main(void) {
int i;
for (i = 0; i <= N; i++) {
printf("%d \r\n", com(N, i));
}
}
int pem(int n , int r) {
return factorial(n) / factorial(n - r);
}
int com(int n, int r) {
return pem(n, r) / (factorial(r));
}
int factorial(int n) {
if (n == 0) {
return 1;
}
else {
int a;
if (n == 1) {
return 1;
}
else {
a = factorial(n - 1);
}
return a * n;
}
}
コメント