SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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

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.

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 !!!

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

Cùng chuyên mục:

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstdlib C/C++

Các hàm trong thư viện cstdlib C/C++

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm toán học (math) trong C / C++

Các hàm toán học (math) trong C / C++

Nếu bạn đang học C++ căn bản thì phải biết công dụng của những hàm…

Bài tập vòng lặp while và do while trong C++

Bài tập vòng lặp while và do while trong C++

Nếu một bài toán được giải bằng vòng lặp while thì bạn hoàn toàn có…

Bài tập vòng lặp for trong C++ có lời giải

Bài tập vòng lặp for trong C++ có lời giải

Vòng lặp for C++ rất quan trọng, nó được sử dụng rất nhiều khi xử…

Bài tập if else trong C++ (có đổi sang switch case)

Bài tập if else trong C++ (có đổi sang switch case)

Để thành thạo hai lệnh rẻ nhánh if else và switch case thì bạn phải…

Tìm hiểu cấu trúc mảng (array) trong C++

Tìm hiểu cấu trúc mảng (array) trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi thực ra là cách rút gọn code của lệnh if else,…

Các toán tử trong C++

Các toán tử trong C++

Toán tử đóng vai trò rất quan trọng trong lập trình, nó giúp chúng ta…

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

C++ là một ngôn ngữ lập trình phổ biến và mạnh mẽ có kiểu dữ…

Đọc ghi file trong C

Đọc ghi file trong C

Đa số sinh viên Việt Nam học lập trình C là để luyện tư duy…

Kiểu Union trong C

Kiểu Union trong C

Union có cách khai báo giống như struct, nhưng kích thước của nó sẽ lấy…

Hàm đệ quy trong ngôn ngữ C

Hàm đệ quy trong ngôn ngữ C

Giải thuật đệ quy nói chung và trong ngôn ngữ C nói riêng thì hàm…

Kiểu dữ liệu Struct trong C

Kiểu dữ liệu Struct trong C

Trong lập trình C/C++, struct (struct collection) là một tập hợp các biến ...

Top