NỘI DUNG THUẬT TOÁN KHAI TRIỂN NHỊ THỨC NEWTON VÀ TAM THỨC NEWTON I.. Ví dụ áp dụng bài toán bất đẳng thức từ nhị thức Newton...7 IV.. THUẬT TOÁN KHAI TRIỂN NHỊ THỨC NEWTONVÀ TAM THỨC NE
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH
MÔN: PHƯƠNG PHÁP TÍNH
CHỦ ĐỀ 20: CƠ SỞ LÝ LUÂN CỦA MỘT SỐ THUẬT TOÁN CÓ TRONG MÔN TOÁN ĐANG DẠY Ở TRƯỜNG PHỔ THÔNG HIỆN NAY (CÁC
CẤP 1,2,3)
GVHD: TS TRỊNH CÔNG DIỆU
HVTH: 1.Nguyễn Việt hải
2.Trần Ngọc Hải
3 Phạm Phi Hùng 4.Huỳnh Tấn Nghĩa
Lớp Toán -Văn bằng 2- khóa 2
Trang 2NỘI DUNG THUẬT TOÁN KHAI TRIỂN NHỊ THỨC NEWTON
VÀ TAM THỨC NEWTON
I ĐẶT VẤN ĐỀ Trang 2
II CƠ SỞ LÍ LUẬN 2
2.1 Nhị thức Newton (Niu-tơn) 2
2.2 Chứng minh công thức tổ hợp 3
2.3 Công lập tam giác Pascal 4
2.4.Công thức Newton (Niu-tơn) 4
III THUẬT TOÁN KHAI TRIỂN NHỊ THỨC NEWTON ( )n a b+ NHƯ SAU 6
3.1 Thuật toán 6
3.2 Ví dụ áp dụng bài toán bất đẳng thức từ nhị thức Newton 7
IV MỞ RỘNG THUẬT TOÁN KHAI TRIỂN NHỊ THỨC NEWTON, KHAI TRIỂN TAM THỨC NEWTON 8
4.1 Thuật toán khai triển tam thức Newton ( )n a b c+ + như sau 9
4.2 Mã Giả 10
4.3 Chương trình khai triển tam thức Newton 11
Trang 3THUẬT TOÁN KHAI TRIỂN NHỊ THỨC NEWTON
VÀ TAM THỨC NEWTON I.ĐẶT VẤN ĐỀ
Các hằng đẳng thức
Khi học chương trình Đại số lớp 8 các bạn gặp một số các hằng đẳng thức sau đây:
0
1
1
2
a b
Các hằng đẳng thức này thường được áp dụng để giải các bài toán biến đổi đồng nhất và cũng được áp dụng để giải các bài toán bất đẳng thức
Trong bài viết này, chúng tôi muốn nêu vài nét về nhị thức Newton với các bài toán bất đẳng thức
II CƠ SỞ LÍ LUẬN
2.1 Nhị thức Newton( Niu-tơn)
Các hằng đẳng thức trên chỉ là trường hợp riêng của hằng đẳng thức tổng quát sau đây:
0
k
a b C a C a b C ab C b C a b
1
k
n
Trong đó n là số nguyên dương
Hằng đẳng thức này được gọi là công thức nhị thức Newton, trong đó
k
n
C k Î N k £n là các hệ số của nhị thức k
n
C bằng số tổ hợp chập k của n phần tử, tức là !( ! )!
k
n
n C
k n k
=
- (k! 1.2.3 k) = (qui ước 0! 1 = ) Như vậy nếu có đẳng thức (a b c) + + n ta khai triển như thế nào? Khai triển này
là mở rộng của nhị thức Newton hay còn gọi là tam thức Newton
2.2 Chứng minh công thức tổ hợp.
Trang 4Bây giờ chúng ta chứng minh bằng quy nạp biến số n công thức sau đây:
!
k
n
C
k k n k
æ ö
ç ÷
-è ø
Với n=0 thì 0
0
0!
1 0!0!
C = = đúng
Giả sử công thức đúng với các trường hợp 0 £ £n N N, ³ 1 Ta cần chứng minh n=N+1 đúng
Thực vậy, với trường hợp k=0 hoặc k=N+1 chúng ta có:
1
1 ! 1
1
N
N
N N
+
+
+
Với trường hợp 1 k£ £N chúng ta có
1
1
C C - C
Theo giả thiết quy nạp thì công thức đúng với trường hợp n=N, cho nên
1
1
!
!
k
N
k
N
N C
C
k
N
k
æ ö
ç ÷
-è ø
-Từ đó suy ra:
1
1
!k
1
N N k N
N
N k
- +
Như vậy chúng ta đã chứng minh đúng với n=N+1 Tóm lại, theo nguyên lý quy nạp thì ta chứng minh được công thức cho các hệ số trong tam giác Pascal là
!
k
n
C
k k n k
æ ö
ç ÷
-è ø
2.3 Cách lập tam giác Pascal:
Trang 5Cột(k)
0
C
1
1
C
2
2
2
C
3
3
3
3
C
4
4
4
4
4
C
n
n
n
n
n
n
n
C
2.4 Công thức Newton:
n
n x
Chúng ta dùng quy nạp để chứng minh định lý khai triển nhị thức Newton
n
n x
Công thức hiển nhiên đúng cho trường hợp n=0 và n=1.Giả sử công thức đúng cho các trường hợp 0 £ £n N N, ³ 1 Chúng ta sẽ chứng minh công thức đúng cho trường hợp n=N+1, thật vậy ta có:
x y+ + = +x y x y+ = +x y x +C x - y C x+ - y + +C - xy +y
Để ý rằng theo cách xây dựng tam giác Pascal thì
1
1
1 1
1
1
1
+ +
-+
-+
+ =
Do đó
x y + x + C x y C x - y C - x y - C xy y +
Vậy chúng ta đã chúng ta đã chứng minh đúng trường hợp n=N+1 Theo nguyên lý quy nạp đã chứng minh xong định lý khai triển nhị thức Newton
x y+ = +x C x y C x- + - y + +C x y- - +y
Trang 6
Một cách khác, ta có thể dựa vào tam giác Pascal:
Thay y=-ychúng ta có hằng đẳng thức:
n
n
Ta cũng có thể dựa vào tam giác Pascal:
Từ nhị thức Newton ta có thể rút ra một số công thức như sau:
0
n n
k
0
n
k
0
n
k
x C x C x C x C x
0
n
k
0
n
k
III Thuật toán khai triển nhị thức Newton ( )n
a b+ như sau:
3.1 Thuật toán
Input : n bậc của nhị thức
Trang 7Output:
0
( )n n n k n k k n n n k n k k
k
a b C a C a b- C a b- C b C a b
-=
Bước 1: Viết tam giác Pascal đến dòng thứ n, của nhị thức Newton ( )n
a b+
Cột(k)
0
C
1
1
C
2
2
2
C
3
3
3
3
C
4
4
4
4
4
C
n
n
n
n
n
n
n
C
Bước 2: Tại dòng thứ n, ta nhân vào các cột a n-kbk
Bước 3: Tại dòng thứ n, chúng ta cộng các cột ở Bước 2.
Mã giả của thuật toán:
Bước 1: Nhập vào n (n là bậc của nhị thức).
Bước 2: k : 0; S : ""; (S là xâu chứa hằng đẳng thức (a b )n )
Bước 3: Nếu k n qua Bước 5
Lập tam giác Pascal,
ta có: k
n
C a n-kbk
Bước 4: Ghép các chuỗi ở bước 3
: k n k k
n
s s C a b
: 1
k k quay lên Bước 3
Bước 5: Dừng và thông báo kết quả
Trang 83.2 Ví dụ áp dụng bài toán bất đẳng thức từ nhị thức Newton :
Chỉ cần lấy bất kì một hằng đẳng thức nào đó, rồi bớt ( hoặc thêm ) một số hạng dương nào đó ở một vế thì sẽ được một bài toán về bất đẳng thức Nhưng để được một bài toán về bất đẳng thức đúng và hay còn phải đòi hỏi vào khả năng say
mê tìm tòi của bạn Sau đây là một số thí dụ về các bài toán bất đẳng thức quen thuộc được rút ra từ nhị thức Newton
Ví dụ 1:
Từ công thức (1) cho a= 1 được (1 ) 1 ( 1) 2 1
2
Nếu b là một số không âm thì (n+ 1) số hạng ở vế phải của (2) đều là những số không âm do đó có thể bỏ đi bất kì một số các số hạng nào đó ở vế phải ta được vế trái không nhỏ hơn vế phải, chẳng hạn:
2 1
2
n
n
n n
b nb - b
Từ (2), nếu b 1,( 1)
n n
= > thì
2
Để ý rằng
.
k
C
n =k n k =k n k k
Nên:
n
Ví dụ 2:
Viết nhị thức Newton theo hai cách sau:
a b+ =C a +C a b- + +C ab- - +C b
b a+ =C b +C b a- + +C ba- - +C a
Cộng theo từng vế của hai đẳng thức trên ta có:
a b+ =C a +b +C a b b a- + - + +C - ab - +ba - +C a +b
Dễ thấy khi a 0, b 0 > > ,i n £ thì:
(a n i- - b n i- )(a i- b i) 0 ³
Nên a n + ³b n a b n i i- +a b i n i
-Do đó với a³ 0, b 0 ³ thì:
a b+ £C a +b +C a +b + +C - a +b +C a +b
Trang 9( )
2(a b)n 2n a n b n
a b a b
£
Ví dụ 3:
Với - £ £ 1 x 1,n là số nguyên dương, chứng minh rằng:
2n ³ 1 - x n + + 1 x n
Chứng minh:
Ta thấy
Khai triển nhị thức Newton ở vế phải ta có:
Vì x £ 1 nên (1 - x),(1 +x) đều không âm do đó:
0
2n 1 n n 1 n (1 )n (1 )n
IV THUẬT TOÁN KHAI TRIỂN TRONG TAM THỨC NEWTON
Từ trước đến nay, ta đã quen biết với tam giác Pascal là bảng các hệ số cho
khai triển nhị thức Newton, cùng với các kí hiệu k
n
C Bây giờ, ta sẽ mở rộng các thuật toán đó cho trường hợp khai triển biểu thức (a b c+ + )n, gọi là tam thức
Newton, trong đó a, b và c là những biến số thực, n là số nguyên dương.
Để dễ hiểu, ta xét trường hợp khai triển (a b c+ +)n,dựa vào tam giác Pascal cho
nhị thức Newton như sau:
( )
(a b c+ + ) = + +a b c = 1 .(a b c+ ) + 2 (a b c+ + ) 1a b c+
1 (1) 2 (1.a a b 1 ) 1 .(1.c a b 2bc 1 ).c
Hãy chú ý tới các hệ số bên ngoài và bên trong dấu ngoặc! Các bạn thấy có
gì đặc biệt không?
Ta xét thêm trường hợp khai triển ( )3
a b c+ + ứng với số mũ n= 3
( ( )) 1 .( ) 3 .( ) 3 1 .( )
a b c+ + = + +a b c = a b c+ + a b c+ + a b c+ + a b c+
= +a3 3a b2 + 3a c2 + 3ab2 + 6abc+ 3ac2 + +b3 3b c2 + 3bc2 +c3
Ta có thể rút ra thuật toán tìm khai triển của (a+b+c) 3 như sau:
Bước 1: Viết bảng các hệ số và biến bên trong ngoặc
+ Các hệ số của dòng thứ i (i = 0, 1, 2, 3) của bảng là dòng thứ i của tam giác
số Pascal.
Trang 10+ Các biến của dòng thứ i (i = 0, 1, 2, 3) của bảng tương ứng với các hệ số
trên là dãy các biến của khai triển ( )i
a b+ + Đặt dấu cộng giữa các đơn thức trên
Bước 2: Viết các nhân tử bên ngoài ngoặc:
+ Các hệ số ở dòng thứ i (i =0, 1, 2, 3) là dãy hệ số của dòng thứ n = 3 của
tam giác Pascal nghĩa là dòng cuối cùng của bảng số ở bước 1.
+ Các biến ở dòng thứ i (i = 0, 1, 2, 3) là dãy biến a3 -i =a n i
-+ Đặt dấu cộng bên trái các dòng
Bước 3: Tìm khai triển ( )3
a b c+ + : + Nhân biểu thức trong ngoặc (ở bước 1) với các nhân tử ngoài ngoặc (ở bước 2)
+ Cộng các biểu thức ở các dòng lại được kết quả
Một cách tổng quát với số tự nhiên n tùy ý:
( ) ( ( ) ) n0 p n p.( )p n0 p n p. p0 q p q q
p
n n
a b c a b c C a - b c C a - C b c
è
+ +
ø
0 n p p q n p p q q
q p n
C C a b c-
-£ -£ -£
Như vậy ta có
4.1 Thuật toán khai triển tam thức Newton ( )n
a b c+ + như sau:
Input : n bậc của tam thức
Output:
( )n n p n p. p q p q q
a b c C a - C b - c
p q n p p q q
n p
q p n
C C a b- - c
£ £ £å
Bước 1: Viết tam giác Pascal đến dòng thứ n, để có được các hệ số của nhị thức
Newton ( )n
a b+
Bước 2: Ở đầu các dòng, ta viết các đơn thức khai triển nhị thức Newton (a+ 1)n , tức là của a a n, n- 1 , ¼ , a0
Bước 3: Nhân lần lượt các đơn thức ở đầu dòng mỗi cột với các đơn thức còn lại
trên mỗi dòng đó, rồi cộng các kết quả lại
Trang 11Kết qủa cuối cùng là:
4.2 Mã Giả
Bài toán: khai triển tam thức Newton ( )n
a b c+ +
Input: nhập bậc n của tam thức
Output: chuổi tam thức Newton:
( )n n p n p. p q p q q
a b c C a - C b - c
Thuật toán:
Bước 1: nhập n vào
Bước 2: i:=0; s:=’ ‘;
Trang 12Bước 3: nếu i > n thì dừng và in kết quả triển khai
Bước 4: tính
:
i
n
n C
i n i
(* hàm tohop(n,k) *)
i n i
n
c a
vào chuổi S (* hàm chen(s1,s2) chen s1 vào s2 *)
chèn “ ( “ vào S
Bước 5: j:=0;
Bước 6: nếu j>i thì i:=i+1 và quay lại Bước 3
Bước 7: tính
:
j!(i )!
j
i
C
j
(* gọi tohop(i,j) *)
j i j
i
c a
vào chuổi S (* hàm chen(s1,s2) chen chuổi s1 vào chuổi s2 *)
chèn “ + “ vào S
chèn “ ) “ vào S
Bước 8: j:=j+1; quay lại bước 6
4.3 Chương trình khai triển tam thức Newton :
uses crt;
var s,st:string;
n:byte;
ch:char;
function gt(n:byte):longint;
var i:byte;
t:longint;
begin
t:=1;
for i:=1 to n do t:=t*i; gt:=t;
end;
function tohop(n,k:byte):longint;
begin
tohop:=gt(n)div(gt(k)*gt(n-k));
end;
function IntToStr(i:longint):string;
var
s:string;
begin
Trang 13str(i,s);
IntToStr:=s;
end;
procedure chen(s2:string;Var s1:string);
var l:byte;
begin
l:=length(s1);
insert(s2,s1,l);
end;
procedure nhithuc(a,b:char;n:byte);
var i,j,k:byte;
s1,s2:string;
begin
for i:=0 to n do
begin
chen(inttostr(tohop(n,i)),s);
chen(a,s);
chen('^',s);
chen(inttostr(n-i),s);
chen(b,s);
chen('^',s);
chen(inttostr(i),s);
chen('+ ',s);
end;
delete(s,length(s)-2,2);
end;
procedure tamthuc(a,b,c:char;n:byte);
var
i,j:byte;
begin
for i:=0 to n do
begin
chen(inttostr(tohop(n,i)),s);
chen(a,s);
chen('^',s);
chen(inttostr(n-i),s);
chen('(',s);
nhithuc(b,c,i);
chen(')',s);
chen('+ ',s);
end;
delete(s,length(s)-2,2);
Trang 14end;
BEGIN
clrscr;
s:=' ';
writeLN('CHUONG TRINH TRIEN KHAI TAM THUC');
WRITEln('DANG: (a+b+c)^n ');
writeln;
ch:='r';
while ord(ch)<>27 do
begin
write('Nhap bac cua tam thuc vao : ');
readln(n);
write('(a+b+c)^',n,'=');
tamthuc('a','b','c',n) ;
write(s);
writeln;
writeln;
write('NHAN PHIM ESC DE THOAT');
CH:=readkey;
clrscr;
writeLN('CHUONG TRINH TRIEN KHAI TAM THUC');
WRITEln('DANG: (a+b+c)^n ');
writeln;
S:=' ';
end;
readln;
end.