Tính S(n) = 1 + 1/2 + 1/3 + … + 1/n bằng C / C++

Tính S(n) = 1 + 1/2 + 1/3 + … + 1/n bằng C / C++

Trong bài viết này tất cả chúng ta sẽ thực thi chương trình tính biểu thức S ( n ) = 1 + 1/2 + 1/3 + … + 1 / n bằng C / C + +. Đây là bài tập cơ bản khi khởi đầu học một ngôn từ lập trình nào đó .

test php

banquyen png

Bài viết này được đăng tại

freetuts.net

, không được copy dưới mọi hình thức.

Mình sẽ triển khai hai chương trình để tính biểu thức bằng hai ngôn từ khác nhau là C và C + + .

Tính S(n) = 1 + ½ + 1/3 + … + 1/n bằng C

Ta cần khai báo một biến n kiểu int là mẫu số của thành phần trong biểu thức ( 1 / n ) và biến S kiểu float để tàng trữ tác dụng của biểu thức .
Như những bạn đã học ở toán cơ sơ thì mẫu số n phải khác không và trong bài toán thì n là số nguyên vậy nên n > = 1. Ta sử dụng vòng lặp do .. while để làm điều này, nếu n < 1 thì nhu yếu nhập lại n . Để tính biểu thức ta hoàn toàn có thể sử dụng một trong hai vòng lặp while hoặc for .

//tính biểu thức bằng vòng lặp for
  for(int i = 1; i <= n; i++){
    S = S + 1.0 / i;
  }

Hoặc :

while(i <= n) // với i = 1, S = 0;
  {
     S = S + 1.0 / i;
     i++;
  }

Sau khi giám sát được biểu thức và gán cho biến S, thì chỉ cần xuất S ra màn hình hiển thị bằng printf ( ) .

Code:

#include
int main()
{
  int n;
  float S;
  S = 0;
  do
  {
    printf("\nNhập vào số n: ");
    scanf("%d", &n);
    if(n < 1)
    {
      printf("\nSố n phải lớn hơn hoặc bằng 1, vui lòng nhập lại !");
    }
  }while(n < 1);
  //tính biểu thức bằng vòng lặp for
  for(int i = 1; i <= n; i++){
    S = S + 1.0 / i;
  }
  //tính biểu thức bằng vòng lặp while
  // while(i <= n)
  // {
  // 	S = S + 1.0 / i;  // phải nhớ là 1.0 / i
  // 	i++;
  // }
  printf("\nTổng 1 + 1/2 + ... + 1/%d là: %.2f",n, S);

  printf("\n-----------------------------------------------------\n");
  printf("Chương trình này được đăng tại Freetuts.net");
}

Kết quả:

bai3 01 PNG

Tính S(n) = 1 + ½ + 1/3 + … + 1/n bằng C++

Tương tự như ví dụ trên, trong ngôn từ C + + thì ta cũng thực thi những bước tựa như như vậy .
Chỉ cần đổi khác printf ( ) và scanf ( ) trong ngôn từ C bằng cout và cin trong ngôn từ C + + .

#include
using namespace std;
int main()
{
  int n;
  float S;
  S = 0;
  do
  {
    cout<<"\nNhập vào số n: ";
    cin>>n;
    if(n < 1)
      {
      cout<<"\nSố n phải lớn hơn hoặc bằng 1, vui lòng nhập lại !";
      }
  }while(n < 1);
  //tính biểu thức bằng vòng lặp for
  for(int i = 1; i <= n; i++){
    S = S + 1.0 / i;
  }
  //tính biểu thức bằng vòng lặp while
  //while(i <= n)
  //{
  //   S = S + 1.0 / i;  // phải nhớ là 1.0 / i
  //   i++;
  //}
  cout<<"\nTổng 1 + 1/2 + ... + 1/"<

Kết quả:

bai3 02 PNG

Như vậy là tất cả chúng ta đã triển khai xong hai chương trình tính biểu thức S ( n ) = 1 + 1/2 + 1/3 + … + 1 / n bằng hai ngôn từ khác nhau. Các bạn hãy rèn luyện thật nhiều những bài toán logic tựa như như vậy nhé ! ! !

Câu hỏi thường gặp liên quan:

Cùng chuyên mục: