Dãy số 10, 3, 6, 10, 6, 12, 10, 9, 18, 19, 21 – Lập trình trong Python và Scratch

Dãy số 10, 3, 6, 10, 6, 12, 10, 9, 18, 19, 21 – Lập trình trong Python và Scratch

Quy luật của dãy số

Dãy số sẽ được xác định như sau:

  • Số thứ nhất (n = 1) trong dãy là 10.
  • Với mỗi số thứ i (i > 1), số đó sẽ bằng tổng các chữ số của số thứ i – 1 cộng thêm với vị trí i.

Đoạn code trong Python tìm số thứ n của dãy số


















def find_number(n):
    if n == 1:
        return 10

    prev_number = 10
    current_number = 0

    for i in range(2, n+1):
        sum_of_digits = sum(int(digit) for digit in str(prev_number))
        current_number = sum_of_digits + i
        prev_number = current_number

    return current_number

# Ví dụ sử dụng
n = int(input("Nhập vào số n: "))
result = find_number(n)
print(f"Số thứ {n} trong dãy là: {result}")

giải thích cách code hoạt động:

  1. Hàm find_number nhận một tham số n, đại diện cho số thứ tự trong dãy mà chúng ta muốn tìm.
  2. Trường hợp đặc biệt, nếu n là 1, ta trả về giá trị 10, vì số thứ nhất quy định là 10.
  3. Khởi tạo biến prev_number với giá trị ban đầu là 10, đại diện cho số thứ hai trong dãy.
  4. Khởi tạo biến current_number với giá trị ban đầu là 0.
  5. Sử dụng vòng lặp for từ 2 đến n (bao gồm) để tính toán số thứ n.
  6. Trong mỗi lần lặp, tính tổng các chữ số của prev_number bằng cách chuyển đổi prev_number thành chuỗi, rồi lấy từng chữ số thành số nguyên và tính tổng chúng.
  7. Cộng tổng chữ số với i (vị trí hiện tại) để tạo ra giá trị mới cho current_number.
  8. Gán current_number cho prev_number để sử dụng cho vòng lặp tiếp theo.
  9. Sau khi vòng lặp kết thúc, current_number sẽ chứa giá trị của số thứ n.
  10. Trả về current_number.

Trong ví dụ sử dụng, chúng ta gọi hàm find_number với n được nhập vào từ bàn phím và lưu kết quả vào biến result. Cuối cùng, chúng ta in ra màn hình số thứ n trong dãy.

Read:   Vẽ hoa từ hình vuông trong Scratch và Python

Dòng code sum_of_digits = sum(int(digit) for digit in str(prev_number)) được sử dụng để tính tổng các chữ số của số thứ i – 1 trong dãy. Dưới đây là giải thích cụ thể về dòng code này:

  1. str(prev_number): Chuyển đổi số prev_number thành một chuỗi ký tự để có thể truy cập từng chữ số riêng lẻ của nó.
  2. for digit in str(prev_number): Với mỗi ký tự trong chuỗi số prev_number, ta gán ký tự đó vào biến digit.
  3. int(digit): Chuyển đổi ký tự thành một số nguyên để có thể tính toán.
  4. sum(int(digit) for digit in str(prev_number)): Sử dụng biểu thức generator để lấy từng số nguyên từ chuỗi ký tự prev_number, sau đó tính tổng của các số đó.

Ví dụ, giả sử prev_number có giá trị là 78. Khi chạy dòng code trên, ta sẽ thực hiện các bước sau:

  • Chuyển đổi prev_number thành chuỗi: "78".
  • Dùng vòng lặp for để truy cập từng ký tự: "7""8".
  • Chuyển đổi ký tự thành số nguyên: 78.
  • Tính tổng các số nguyên: 7 + 8 = 15.

Kết quả là sum_of_digits sẽ lưu giá trị 15, tức là tổng các chữ số của số thứ i – 1 trong dãy.

Hy vọng rằng phân tích trên giúp bạn hiểu rõ hơn về cách code hoạt động.

Lập trình Scratch tìm số thứ n trong dãy số 10, 3, 6, 10, 6, 12, 10, 9, 18, 19, 21

Đây là một chương trình Scratch để tính toán số thứ n trong dãy theo quy luật đã cho:

  1. Mở trình duyệt và truy cập vào trang web Scratch (scratch.mit.edu).
  2. Tạo một dự án mới và xóa nhân vật mặc định trong sân khấu.
  3. Tạo một biến “n” để lưu giá trị số n trong dãy.
  4. Tạo một biến “currentNumber” để lưu giá trị của số thứ n trong dãy.
  5. Đặt giá trị ban đầu của “n” bằng cách sử dụng khối “đặt [n] bằng [giá trị] ”.
  6. Đặt giá trị ban đầu của “currentNumber” là 10 (số thứ nhất trong dãy).
  7. Kéo và thả các khối vào khu vực kịch bản theo thứ tự sau:
    • Khối “này được nhấn” -> “đặt [currentNumber] bằng 10”
    • Khối “khi được nhấn vào” -> “đặt [i] bằng 2” và “lặp lại (n-1) lần”
      • Khối “đặt [sumOfDigits] bằng 0”
      • Khối “đặt [j] bằng 1” và “lặp lại (số chữ số của [currentNumber] ) lần”
        • Khối “đặt [digit] bằng [chữ số thứ j trong [currentNumber] ]”
        • Khối “đặt [sumOfDigits] bằng [sumOfDigits] + [digit] ”
        • Khối “đặt [j] bằng [j] + 1”
      • Khối “đặt [currentNumber] bằng [sumOfDigits] + [i] ”
      • Khối “đặt [i] bằng [i] + 1”
    • Khối “hiển thị [currentNumber] ”
  8. Nhấn vào cờ màu xanh để chạy chương trình.
  9. Nhập giá trị của n vào biến “n” bằng cách sử dụng khối “đặt [n] bằng [giá trị] ”.
  10. Nhấn vào cờ màu xanh và chương trình sẽ tính và hiển thị số thứ n trong dãy.
Read:   Hướng dẫn viết phần mềm vui học tiếng anh bằng Scratch

Lưu ý: Để lấy chữ số thứ j của một số trong Scratch, bạn có thể chuyển đổi số đó thành một chuỗi, sau đó sử dụng khối “chữ số thứ j trong [chuỗi] ” và chuyển đổi kết quả trở lại thành số nguyên bằng khối “chuyển đổi [chuỗi] thành số”.

Hy vọng rằng hướng dẫn trên sẽ giúp bạn tạo ra chương trình Scratch để tính toán số thứ n trong dãy theo quy luật đã cho.

Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *