" tóm tắt thôi nghe! sai sót thì bổ sung chỉnh sữa cho dúng ý tui tí hehe?
cho hệ phương trình không đầy đủ(số ẩn nhỏ hơn số phương trình) đương nhiên thì không giải được!
nhưng nó có một sơ hở là các nghiệm của hệ phương trình phải là các số nguyên dương và bé nhất
ví dụ: ta giải ra nghiệm x=2,y=6,z=8,t=4
thì không chấp nhận được mà phải là x=1, y=3,z=4, t=2
vậy ta cho nó chạy vòng for loop:
for x=1 to 10
for y=1 to 10
for z=1 to 10
............
dk1=a11*x+a12*y+a13*z......
dk2=a21*x+a22*y+a23*z......
dk3=a31*x+a32*y+a33*z......
if dk1 and dk2 andk3 and.... then goto 1
........
next
next
next
.......
1: đưa x,y,z,..... ra
thì đương nhiên ta có x,y,z,t... là cực tiểu rồi. và là nghiệm nữa
nhưng tui gặp vấn đề:
bọn lớp 9 nó giải thì 3,4 vòng for thì được.
chứ hệ chục ẩn thì máy tui treo:
vòng for là 1-->100
10 vòng for là :100^10
tính ra:hàm,thủ tục,lệnh*100^10 thì không ổn lắm
Hê hê. “Một hệ phương trình chỉ giải được khi mà chỉ khi số ẩn bằng số phương trình”
Hệ của mình không bao giờ đầy đủ và vĩnh viễn không đầy đủ.
Tui chạy mất mười mất phút? Mà mới có 6 vòng for:
27*X1 + 63*X2 - 213*X3 - 28*X4 - 44*X5 -18*X6=0
0*X1 + 3*X2 - 9*X3 -0 *X4 - 1*X5 +1*X6=0
0*X1 +1 *X2 - 3*X3 - 2*X4 - 2*X5 +0*X6=0
0*X1 + 1*X2 - 0*X3 -0 *X4 -0 *X5 +2*X6=0
Vậy ta thay bởi các hệ bằng điều kiện:
Dieukien1= 27*X1 + 63*X2 - 213*X3 - 28*X4 - 44*X5 -18*X6
Dieukien2= 0*X1 + 3*X2 - 9*X3 -0 *X4 - 1*X5 -1*X6
Dieukien3=0*X1 +1 *X2 - 3*X3 - 2*X4 - 2*X5 -0*X6
Dieukien4=0*X1 + 1*X2 - 0*X3 -0 *X4 -0 *X5 -2*X6
Vậy khi mà chỉ khi các Dieukien =0 thì xuất hiện nghiệm: (“tư duy của mình đơn giản thế thôi”)
vài chục vòng for chạy châm có khi không ra.
mà hơn nữa nghiệm chạy tới 10 thôi chứa chạy 200 thì không có vòng for nào chịu cho nỗi.
==> bó tay
vậy có ai có cách nào tối ưu hóa vòng for loop trên không cho nó chạy nhanh hơn với hệ 8,9 ẩn và nghiệm nhỏ hơn 100 tức: for nghiêm to 100 thôi
có ai hiểu tôi nó gì không nhỉ? liệu trình bày vậy có logic không?





)




.

chưa thành công