Home > C / C++ > Bài tập C++ > Tính tổng tất cả các ước số chẵn của số nguyên dương n bằng C / C++

Tính tổng tất cả các ước số chẵn của số nguyên dương n bằng C / C++

Trong bài viết này chúng ta sẽ thực hiện chương trình tính tổng các ước số của số nguyên dương n bằng C / C++. Để hiểu được bài bày các bạn cần có kiến thức cơ bản về C và C++.

Mình sẽ thực hiện hai chương trình để tính tổng các ước số của số nguyên dương n bằng hai ngôn ngữ khác nhau là C và C++.

Tính tổng các ước số chẵn của số nguyên n bằng C

Ta cần một biến n là số nguyên dương cần tính ước số, n được nhận từ bàn phím và biến S là tổng các ước số chẵn của n.

Sử dụng vòng lặp do..while để yêu cầu người dùng nhập vào số n lớn hơn 0, nếu n < 0 thì nhập lại.

Để tính tổng các ước số chẵn đầu tiên ta cần liệt kê các ước số của nó. Sau đó sử dụng vòng lặp for lặp từ 1 đến <= n, nếu n % i == 0 và i % 2 == 0 (là số chẵn) thì ta cộng lại.

for(int i = 1; i <= n; i++)
  {
    if(n % i == 0)
    {
      //điều kiện là số chẵn
      if(i % 2 == 0){
        printf("%4d", i);
        S = S + i;
      }
    }
  }

Tổng các ước số chẵn của n sẽ được tính và lưu vào biến S, sau khi tính xong chỉ cần hiển thị S ra màn hình bằng printf().

#include<stdio.h>
int main()
{
  int n;
  long S = 0;
  //sử dụng dowhile để yêu cầu người dùng nhập vào số lớn hơn 0
  //nếu n < 0 thì yêu cầu nhập lại
  do
  {
    printf("\nNhập vào số nguyên n lớn hơn 0: ");
    scanf("%d", &n);
  if(n <= 0)
  {
    printf("\n Số n phải lớn hơn 0, vui lòng nhập lại !");
  }
  }while(n <= 0);
  //sử dụng vòng lặp for để tính tổng các ước số chẵn của n
  printf("Các ước số của %d là: ",n);
  for(int i = 1; i <= n; i++)
  {
    if(n % i == 0)
    {
      //điều kiện là số chẵn
      if(i % 2 == 0){
        printf("%4d", i);
        S = S + i;
      }
    }
  }
  printf("\nTổng các ước số của %d là: %ld", n, S);

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

Kết quả:

bai18 01 PNG

Tính tổng các ước số chẵn của số nguyên n bằng C++

Việc tính tổng các ước số chẵn của số nguyên bằng ngôn ngữ C++ tương tự như ngôn ngữ C.

Ta chỉ cần thay thế printf(), scanf() trong ngôn ngữ C bằng cout và cin trong ngôn ngữ C++. Nhớ khai báo thư viện <iostream> trước khi sử dụng cout và cin nhé.

#include<iostream>
using namespace std;
int main()
{
  int n;
  long S = 0;
  //sử dụng dowhile để yêu cầu người dùng nhập vào số lớn hơn 0
  //nếu n < 0 thì yêu cầu nhập lại
  do
  {
    cout<<"\nNhập vào số nguyên n lớn hơn 0: ";
    cin>>n;
    if(n <= 0)
    {
      cout<<"\n Số n phải lớn hơn 0, vui lòng nhập lại !";
    }
  }while(n <= 0);
  //sử dụng vòng lặp for để tính tổng các ước số chẵn của n
  cout<<"Các ước số của "<<n<<" là: ";
  //dùng vòng lặp for lặp từ 1 đến <= n để liệt kê các ước số
  // nếu là ước số chẵn i % 2 == 0 thì cộng lại
  for(int i = 1; i <= n; i++)
  {
    if(n % i == 0)
    {
      if(i % 2 == 0){
        cout<< i << "\t";
        S = S + i;
      }
      
    }
  }
  cout<<"\nTổng các ước số của "<<n<<" là: "<<S;

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

Kết quả:

bai18 02 PNG

Như vậy là chúng ta đã thực hiện xong chương trình tính tổng các ước số chẵn của số nguyên n bằng C / C++. Các bạn có thể tham khảo các bài tập khác tại Tổng hợp 1000 bài tập C / C++ nhé, chúc các bạn thành công !!!

Bình luận đã đóng, nếu có thắc mắc hãy đặt câu hỏi tại hoicode.com để admin trả lời.

Nguồn: freetuts.net

Tham khảo
Tính S(n) = 1 + 2 + 3 + … + n bằng C / C++
Tính S(n) = 1^2 + 2^2 + … + n^2 bằng C / C++
Tính S(n) = 1 + 1/2 + 1/3 + … + 1/n bằng C / C++
Tính S(n) = 1/2 + 1/4 + … + 1/2n bằng C / C++
Tính S(n) = 1 + 1/3 + 1/5 + … + 1/(2n - 1) bằng C / C++
Tính S(n) = 1/(1×2) + 1/(2×3) +…+ 1/(n x (n + 1)) bằng C / C++
Tính S(n) = 1/2 + 2/3 + 3/4 + …. + n / (n + 1) bằng C / C++
Tính S(n) = 1/2 + 3/4 + 5/6 + … + (2n + 1)/( 2n + 2) bằng C / C++
Tính T(n) = 1 x 2 x 3…x N bằng C / C++
Tính T(x, n) = x^n bằng C / C++
Tính S(n) = 1 + 1.2 + 1.2.3 + … + 1.2.3….N bằng C / C++
Tính S(n) = x + x^2 + x^3 + … + x^n bằng C / C++
Tính S(n) = x^2 + x^4 + … + x^2n bằng C / C++
Tính S(n) = x + x^3 + x^5 + … + x^(2n - 1) bằng C / C++
Tính tổng tất cả các “ước số” của số nguyên dương n bằng C / C++
Tính tích tất cả các “ước số” của số nguyên dương n bằng C / C++
Liệt kê tất cả các ước số lẻ của số nguyên dương n bằng C / C++
Tính tổng tất cả các ước số chẵn của số nguyên dương n bằng C / C++
Tìm ước số lẻ lớn nhất của số nguyên dương n bằng C / C++
Đếm số lượng chữ số của số nguyên dương n bằng C / C++
Tính tích các chữ số của số nguyên dương n bằng C++
Đếm số lượng chữ số lẻ của số nguyên dương n bằng C / C++
Tính tổng các chữ số chẵn của số nguyên dương n bằng C / C++
Tìm chữ số đầu tiên của số nguyên dương n bằng C / C++
Tìm chữ số lớn nhất của số nguyên dương n bằng C / C++
Tìm chữ số nhỏ nhất của số nguyên dương n bằng C / C++
Đếm chữ số lớn nhất của số nguyên dương n bằng C / C++
Đếm chữ số nhỏ nhất của số nguyên dương n bằng C / C++
Kiểm tra số n có toàn chữ số lẻ hay không bằng C / C++
Kiểm tra số n có toàn chữ số chẵn hay không bằng C / C++
Kiểm tra các chữ số của số n có tăng dần từ trái sang phải không bằng C / C++
Kiểm tra các chữ số của số n có giảm dần hay không bằng C / C++
Tính S(x, n) = x – x^2 + x^3 + … + (-1)^n+1 * x^n bằng C / C++
Kiểm tra hai số thực có cùng dấu hay không bằng C / C++
Kiểm tra tháng thuộc quý nào bằng C / C++
Tính S(n) = 1^3 + 2^3 + … + N^3 bằng C / C++
Tìm số nguyên dương n nhỏ nhất sao cho 1 + 2 + … + n > 10000 bằng C / C++
Sử dụng vòng lặp for để xuất các ký tự từ A đến Z bằng C / C++
Tính tổng các giá trị lẻ nguyên dương nhỏ hơn N bằng C / C++
In tất cả các số nguyên dương lẻ nhỏ hơn 100 bằng C / C++
Kiểm tra loại tam giác gì bằng C / C++
Giải hệ phương trình bậc nhất hai ẩn bằng C / C++
Chương trình tìm số ngày trong tháng bằng C / C++
Nhập vào ngày tháng năm rồi in ra ngày tiếp theo bằng C / C++
Nhập vào ngày tháng năm rồi in ra ngày tháng năm trước đó bằng C / C++
In ra cách đọc của một số nguyên dương có hai chữ số bằng C / C++
In ra cách đọc của một số nguyên dương có ba chữ số bằng C / C++
Tính điểm trung bình của môn toán và môn văn bằng C / C++
Tìm phần tử lớn nhất trong mảng một chiều bằng C / C++
Tìm phần tử nhỏ nhất trong mảng một chiều bằng C / C++
Tìm vị trí của phần tử nhỏ nhất trong mảng một chiều bằng C / C++
Tìm vị trí của phần tử lớn nhất trong mảng một chiều bằng C / C++
Nhập, xuất mảng các số thực bằng C / C++
Nhập, xuất mảng các số nguyên bằng C / C++
Liệt kê các giá trị chẵn trong mảng các số nguyên bằng C / C++
Liệt kê các giá trị lẻ trong mảng các số nguyên bằng C / C++
Liệt kê vị trí các giá trị âm trong mảng một chiều các số thực bằng C / C++
Đếm số nguyên tố có trong mảng một chiều các số nguyên bằng C / C++
Tính tổng các giá trị âm trong mảng một chiều các số thực bằng C / C++

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP