เลขเฉพาะ คือเลขที่หารด้วยตัวมันเองและ 1 ลงตัวเท่านั้น (มีตัวประกอบ 2 ตัว)
อัลกอริทึม
- นับตัวประกอบของ n (วน i = 1 ถึง n)
- ถ้าจำนวนตัวประกอบ = 2 → เป็นเลขเฉพาะ
int count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) count++;
}
if (count == 2) // Prime
ตัวอย่างโค้ดเต็ม
using System;
namespace Demo {
class MyApplication {
public static void Main() {
int n = 5, count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) count++;
}
if (count == 2) {
Console.WriteLine("{0} is a Prime Number", n);
} else {
Console.WriteLine("Not a Prime Number");
}
Console.ReadLine();
}
}
}
ผลลัพธ์
5 is a Prime Number
การเพิ่มประสิทธิภาพ: วนแค่ถึง √n เพียงพอ
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return n > 1;