Không dùng đệ quy và cũng không dùng biến mảng để lưu giá trị tạm

Giúp em câu 2b với ạ. Em cảm ơn.

Câu 2 thì h bạn có 4 biến, trong đó có 1 biến lưu kết quả, v.v.

4 Likes

không dùng biến mảng để lưu giá trị tạm mà anh

:kissing: Không dùng biến mảng chứ có kêu không dùng biến y1, y2, y3 như a rogp10 nói đâu

4 Likes

vậy nếu mình muốn tính y5, thì phải tạo tới y1, y2, y3, y4? như vậy không lưu vào mảng thì làm sao ạ :expressionless:

Bạn nhìn vào công thức nhé :kissing:
A rogp10 gợi ý là chỉ cần dùng 4 biến rồi đó.

4 Likes

hmmmmmmmmmm… em cảm ơn ạ

em biết là phải dùng vòng lặp nhưng thật sự là suy nghĩ 2 ngày rồi vẫn k biết làm sao, nhìn vào k thấy được cái quy luật, mấy anh gợi ý một chút được không ạ
các giá trị: https://drive.google.com/file/d/16LRe8fECEOVWYOk2bZwHfD8h0dNIRJQR/view?usp=sharing

Pseudo-code

Yn_3 = 1
Yn_2 = 2
Yn_1 = 3

for (4 -> n):
  drgnz = Yn-1(5Yn_2 + 6Yn_3)
  Yn_3 = Yn_2
  Yn_2 = Yn_1
  Yn_1 = drgnz

print(drgnz)
4 Likes

hay quá anh, em k nghĩ tới cách thay biến số này, đa tạ anh ạ, à mà bài này mình dùng hệ thức truy hồi làm có ra không anh nhỉ?

Thử viết code tính dãy trên Python, kết quả ra thật khủng khiếp :flushed:

4 48
5 1296
6 334368
7 2263002624
8 3800975415312384
9 43015712240343076885757952
10 817508907556498172055350270837115089584128
11 175828639625481764163040931211380798773474186559886204954455354376192

Chắc không cần phải viết kiểu số nguyên lớn trên C chứ :flushed:

2 Likes

Hệ thức truy hồi này có cách giải là quy ra công thức nghiệm tổng quát gì đấy mà.

Giống fibo.
A [i mod 3] = A[i mod 2] + A[i mod 1]

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?