Viết chương trình tính tổng s=1+2+3 4 n

Facebook0

Google+0

Twitter0

Yêu cầu
– Nhập vào số nguyên dương n (n > 0) từ cửa sổ màn hình console.
– Sau đó, tính tổng S(n) = 1 + 2 + 3 + 4 +…+ n.

Giải thuật
– Dùng vòng lặp do while() để bắt người dùng nhập lại giá trị n nếu nhập giá trị n <= 0
– Dùng vòng lặp for để tính tổng S(n).

Code

package net.vncoding;
import java.util.Scanner;


public class JavaCore {

    public static void main(String[] args) {
        
        long sum = 0;
        int n;
        Scanner sc;
        do {
        	System.out.println("Input n = ");
            sc = new Scanner(System.in);
            n = sc.nextInt();
        }while(n <= 0);
        
        for(int i = 1; i <= n; i++) {
        	sum += i;
        }
        
        System.out.println("Sum = " + sum);
        sc.close();
    }
}

Kết quả

Viết chương trình tính tổng s=1+2+3 4 n
Java – Tính tổng S(n) = 1 + 2 + 3 + 4 +…+ n

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/2 đến n/(n+1).

2. Lời giải

Để giải được bài tập tính S(n) = 1/2 + 2/3 + 3/4 +…+ n/(n+1)  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/2 + 2/3 + 3/4 +…+ n/(n+1) ta thấy nó có dạng S(n) = i/(i+1) + (i+1)/(i+2) + (i+2)/(i+3) +…+ (i+n)/(i+n+1) 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 i/(i+1).

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

#include 
int main(){
    // khai bao so nguyen n
    int n; 
    // khai bao sum
    float sum = 0; 
    // nhap su lieu gan vao bien n 
    printf("nhap n = ");
    scanf("%d", &n);
    //vong lap for bat dau tu i = 1 và ket thuc khi i = n, moi lan lap i tang len 1
    for(int i = 1; i <= n; i++){
        // moi lan thuc hien vong lap bien sum se tan lên i/(i +1)
        sum += (float)i/(i +1);//ép kieu float cho phép tinh i/(i +1) vi la so nguyen chia so nguyen
    }
    // in ket qua ra man hinh    
    printf("S(%d) = %f", n,sum);
}

Ví dụ tôi nhập n = 50

Kết quả:

nhap n = 50
S(50) = 46.4811783. Tổng kết

Để thực hiện giải bài tập tính S(n) = 1/2 + 2/3 + 3/4 +…+ n/(n+1) bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản và các cách sử dụng vòng lặp trong C, cách ép kiểu trong C và các phép toán học cơ bản.

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 n.

2. Lời giải

Để giải được bài tập tính S(n) = 1 + 2 + 3 +…+ 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 + 2 + 3 +…+ n ta thấy nó có dạng s(n) = i + (i+1) + (i+2) + … + (i+n) trong đó i bắt đầu từ 1.

Bước 2: Tạo một biến int 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 i.

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

#include 
int main(){
    // khai bao so nguyen n
    int n; 
    // khai bao sum
    int 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 <= n, moi lan lap i tang len 1
    for(int i = 1; i <= n; i++){
        // moi lan thuc hien vong lap bien sum se tan lên i 
        sum += i;
    }
    // in ket qua ra man hinh	
    printf("S(%d) = %d", n,sum);
}

Ví dụ tôi nhập n = 10

Kết quả:

nhap n = 10
S(10) = 553. Tổng kết

Để thực hiện giải bài tập tính tổng S(n) = 1 + 2 + 3 +…+ n bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản và các cách sử dụng vòng lặp trong C.