Tính tổng 1+1/2+1/3+...+1/n trong python

Sử dụng ngôn ngữ Python cơ bản giải bài tập sau:

Tính S[n] = 1 + ½ + 1/3 + … + 1/n

Đây là bài khá đơn giản, chỉ cần sử dụng vòng lặp và toán tử chia là xử lý được.

Bài giải

-------------------- ######## --------------------

Với bài này thì ta phải lưu trữ dữ liệu kiểu float, vì phép chia có thể trả về giá trị số lẻ có phần dư.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Tương tự, sử dụng vòng lặp để lặp qua dãy số từ 1 đến n, tức khoảng range sẽ được tính là range[1, n+1].

Bài giải như sau:

# HỌC PYTHON TẠI FREETUTS.NET
# TÁC GIẢ: CƯỜNG NGUYỄN
# Bài tập Python: Tính S[n] = 1 + ½ + 1/3 + … + 1/n
# Link tài liệu: //freetuts.net/ref/tinh-s-n-1-+-+-1-3-+-+-1-n-bang-python-396.html

print["Chương trình đăng tại freetuts.net!"]

tong = 0
n = 0

print["Hãy nhập vào số n: "]
n = int[input[]]

for i in range[1, n + 1] :
    tong += 1 / i

print["Tổng số là: ", tong]

Kết quả nhập số 5 thì sẽ như sau:

Bài viết này được đăng tại [free tuts .net]

Danh sách bài tập Python cơ bản

  • Kiểm tra dữ liệu là number hay string bằng Python
  • Tính tổng S[n] = 1 + 2 + 3 + … + n bằng Python
  • Tính tổng S[n] = 1^2 + 2^2 + … + n^2 bằng Python
  • Tính tổng S[n] = 1 + ½ + 1/3 + … + 1/n bằng Python
  • Tính tổng S[n] = ½ + ¼ + … + 1/2n bằng Python
  • Tính tổng S[n] = 1/3 + 1/5 + … + 1/[2n + 1]
  • Liệt kê tất cả các ước số của số nguyên dương n bằng Python
  • Tính tổng tất cả các ước số của số nguyên dương N bằng Python
  • Tìm ước số lẻ lớn nhất của một số bằng Python
  • Kiểm tra một số có phải là số hoàn hảo bằng Python
  • Kiểm tra số chính phương bằng Python
  • Kiểm tra số nguyên tố bằng Python
  • Đảo ngược một số bằng Python
  • In ra từng ký tự của một số bằng Python
  • Giải phương trình bậc nhất một ẩn bằng Python [ax + b = 0]
  • Giải phương trình bậc hai một ẩn bằng Python [ax^2 + bx + c = 0]

Cùng chuyên mục:

Tính tổng S[n] = 1 + 1/2 + 1/3 +…+ 1/n trong C

Bài tập cơ bản này ta có thể có nhiều hướng giải quyết khác nhau, như sử dụng vòng lặp for , sử dụng vòng lặp while, …

Đầu vào sẽ là một biến nguyên n và yêu cầu của bài toán là tính tổng các phần tử từ 1 đến 1/n.

2. Lời giải

Để giải được bài tập tính S[n] = 1 + 1/2 + 1/3 +…+ 1/n  bạn phải có kiến thức về toán học cơ bản, có kiến thức về lập trình C cơ bản và cách sử dụng vòng lặp.

Các bước thực hiện bài toán như sau:

Bước 1: Phân tính bài toán S[n] = 1 + 1/2 + 1/3 +…+ 1/n ta thấy nó có dạng s[n] = 1/i + 1/[i+1] + 1/[i+2] + … + 1/[i+n] trong đó i bắt đầu từ 1.

Bước 2: Tạo một biến float sum = 0 để thể hiện giá trị tổng.

Bước 3: Ta sẽ sử dụng vòng for với một biến int i = 1 , điều kiện dừng khi nó bằng n và mỗi lần i tăng lên 1.

Bước 4: Trong vòng lặp ta cho biến sum mỗi lần lặp sẽ tăng lên 1/i.

Chương trình giải bài tập S[n] = 1 + 1/2 + 1/3 +…+ 1/n như sau :

#include 
int main[]{
    // khai bao so nguyen n
    int n; 
    // khai bao sum
    float sum = 0; 
    // nhap du lieu gan vao bien n 
    printf["nhap n = "];
    scanf["%d", &n];
    //vong lap for bat dau tu i = 1 và ket thuc khi i 

Chủ Đề