BÀI TẬP C#
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT

Cách kiểm tra số nguyên tố trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách kiểm tra một số có phải là số nguyên tố hay không trong C#. Đây là một bài toán thường gặp khi bắt đầu học bất kỳ một ngôn ngữ nào, vì đây là kiến thức cơ bản và là nền tảng để bắt đầu một ngôn ngữ mới.

Chúng ta sẽ cùng nhau tìm hiểu số nguyên tố là gì và cách kiểm tra một số có phải là số nguyên tố hay không. Sau đó là in các số nguyên tố trong một phạm vi nhất định được nhập từ người dùng.

1. Số nguyên tố là gì?

Như các bạn đã học ở toán phổ thông thì số nguyên tố được hiểu theo một cách đơn giản, là số mà chỉ chia hết cho 1 và chính nó.

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.

Ví dụ: 2, 3, 5, 7, 11, 13, 17, 19, ... Như các bạn thấy thì các số này chỉ chia hết cho 1 và chính nó, ngoài ra nó không chia hết cho bất kỳ số nào khác nữa.

Dựa vào định nghĩa của nó, ta sẽ đi viết thuật toán số nguyên tố để giải bải toán này nhé.

2. Kiểm tra một số có phải là số nguyên tố hay không trong C#

Để kiểm tra một số có phải là số nguyên tố hay không thì ta cần xác định được đó là số nào. Vì vậy tốt nhất sẽ sử dụng hàm ReadLine() để yêu cầu người dùng nhập vào một số, sau đó kiểm tra số đó.

 Console.Write("Nhap vao mot so: ");
 int number = int.Parse(Console.ReadLine());

Bây giờ ta sẽ viết thuật toán để kiểm tra số vừa được nhập vào là number có phải là số nguyên tố hay không. Theo định nghĩa thì số nguyên tố bắt đầu từ 2, vậy nên ta cần xét điều kiện nếu number < 2 thì không phải số nguyên tố. Ta chỉ kiểm tra các số lớn hơn 2 mà thôi.

if (number < 2)
{
    IsPrime = false;
}

Sử dụng vòng lặp for để lặp các số từ 2 đến number/2, bởi vì một số nếu không chia hết cho một nữa của nó thì nghĩa là không chia hết cho số đó. Ví du: số 9 một nữa của nó là 4 (9 / 2 = 4), thì ta chỉ cần kiểm tra 2, 3, 4 mà thôi, còn các số 5, 6, 7, 8 chắc chắc 9 sẽ không chia hết.

for (int i = 2; i < number / 2; i++)
{
      if (number % i == 0)
      {
          IsPrime = false;
          break;
      }
}

Cuối cùng chỉ cần hiển thị thông báo số vừa nhập có phải là số nguyên tố hay không.

if (IsPrime)
{
     Console.Write($"{number} la so nguyen to.");
}
else
{
     Console.Write($"{number} khong phai so nguyen to.");
}

Full code:

using System;
namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Nhap vao mot so: ");
            int number = int.Parse(Console.ReadLine());
            bool IsPrime = true;
            if (number < 2)
            {
                IsPrime = false;
            }
            for (int i = 2; i < number / 2; i++)
            {
                if (number % i == 0)
                {
                    IsPrime = false;
                    break;
                }
            }
            if (IsPrime)
            {
                Console.Write($"{number} la so nguyen to.");
            }
            else
            {
                Console.Write($"{number} khong phai so nguyen to.");
            }
            Console.ReadKey();
        }
    }
}

Kết quả:

bai3 02 png

3. In các số nguyên tố trong một phạm vi nhất định trong C#

Tương tự như việc kiểm tra số nguyên tố, chỉ cần sử dụng thêm một vòng lặp for để lặp và hiển thị các số nguyên tố mà thôi. Cụ thể như sau:

  • Yêu cầu người dùng nhập vào hai số bắt đầu và kết thúc.
  • Vòng lặp for thứ nhất lặp từ số bắt đầu đến số kết thúc với bước nhảy i++.
  • Vòng lặp thứ hai là vòng lặp tương tự như phần kiểm tra số nguyên tố, dùng để kiểm tra số nguyển tố.
  • Hiển thị các số nguyên tố ra màn hình trong vòng lặp for thứ nhất.
using System;
namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Nhap vao so bat dau: ");
            int startNumber = int.Parse(Console.ReadLine());
            Console.Write("Nhap vao so ket thuc: ");
            int endNumber = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine($"Cac so nguyen to tu {startNumber} den {endNumber} la: ");
            for (int i = startNumber; i <= endNumber; i++)
            {
                int counter = 0;
                for (int j = 2; j <= i / 2; j++)
                {
                    if (i % j == 0)
                    {
                        counter++;
                        break;
                    }
                }

                if (counter == 0 && i != 1)
                {
                    Console.Write("{0} ", i);
                }
            }
            Console.ReadKey();
        }
    }
}

Kết quả:

bai3 01 png

Như vậy là chúng ta đã thực hiện xong chương trình kiểm tra số nguyên tố và hiển thị các số nguyên tố trong một phạm vi nhất định. Các bạn hãy luyện tập thật nhiều với các cách khác nhau nhé, chúc các bạn thành công !!!

Bình luận

Cùng chuyên mục:

Cách in ra hình tam giác ký tự * trong C#

Cách in ra hình tam giác ký tự * trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách ...

Cách tính tổng các số chẵn từ 1 đến N trong C#

Cách tính tổng các số chẵn từ 1 đến N trong C#

Trước khi đi vào viết chương trình, chúng ta cùng tìm hiểu qua số chẵn…

Cách tính tổng các số lẻ từ 1 đến N trong C#

Cách tính tổng các số lẻ từ 1 đến N trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách tính tổng các lẻ…

Cách đếm số chữ số của một số nguyên trong C#

Cách đếm số chữ số của một số nguyên trong C#

Chúng ta cùng xem qua một số ví dụ để hiểu rõ hơn về chương…

Cách tính chu vi và diện tích hình tam giác trong C#

Cách tính chu vi và diện tích hình tam giác trong C#

Tam giác là một loại hình cơ bản trong hình học, có ba đỉnh là…

Cách tính chu vi và diện tích hình tròn trong C#

Cách tính chu vi và diện tích hình tròn trong C#

Trước khi đi vào viết chương trình tính chu vi và diện ..

Cách tính chu vi và diện tích hình chữ nhật trong C#

Cách tính chu vi và diện tích hình chữ nhật trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn ...

Cách xóa phần tử trùng lặp khỏi mảng trong C#

Cách xóa phần tử trùng lặp khỏi mảng trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách loại bỏ các ..

Cách tìm tất cả các chuỗi con của chuỗi đã cho trong C#

Cách tìm tất cả các chuỗi con của chuỗi đã cho trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách tìm ...

Cách xóa các ký tự trùng lặp khỏi chuỗi trong C#

Cách xóa các ký tự trùng lặp khỏi chuỗi trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách xóa các ký tự…

Đếm số lần xuất hiện của ký tự trong chuỗi trong C#

Đếm số lần xuất hiện của ký tự trong chuỗi trong C#

Trong bài viết này minh sẽ hướng dẫn các bạn cách đếm ...

Cách chuyển đổi nhị phân sang thập phân trong C#

Cách chuyển đổi nhị phân sang thập phân trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách chuyển đổi số ...

Cách chuyển đổi thập phân sang nhị phân trong C#

Cách chuyển đổi thập phân sang nhị phân trong C#

Số nhị phân là các con số có cơ số là 2. Các số nhị…

Cách tính tổng các chữ số của một số trong C#

Cách tính tổng các chữ số của một số trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn ...

Cách tính giai thừa của một số trong C#

Cách tính giai thừa của một số trong C#

Trước tiên ta cần tìm hiểu xem giai thừa là gì đã nhé. Các bạn…

Cách kiểm tra số Armstrong trong C#

Cách kiểm tra số Armstrong trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách kiểm tra số Armstrong…

Cách đảo ngược một số và một chuỗi trong C#

Cách đảo ngược một số và một chuỗi trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách đảo ngược ..

Kiểm tra số đối xứng trong C# (Palindrome)

Kiểm tra số đối xứng trong C# (Palindrome)

Trong bài viết này mình sẽ hướng dẫn các bạn cách kiểm tra một ...

In dãy số Fibonacci trong C#

In dãy số Fibonacci trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách in dãy số Fibonacci…

Cách hoán đổi giá trị hai biến trong C#

Cách hoán đổi giá trị hai biến trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn các cách hoán đổi hai…

Top