अभाज्य संख्या वह है जो केवल 1 और स्वयं से विभाज्य होती है। C# में इसे जांचने के दो सामान्य तरीके:
तरीका 1: for लूप से (सीधी जांच)
using System;
namespace Program
{
class Demo
{
public static void Main()
{
int n = 7;
int count = 0;
for (int i = 1; i <= n; i++)
{
if (n % i == 0)
count++;
}
if (count == 2)
Console.WriteLine("अभाज्य संख्या");
else
Console.WriteLine("अभाज्य संख्या नहीं");
Console.ReadLine();
}
}
}
तरीका 2: फंक्शन का उपयोग (अनुकूलित √n तक)
using System;
namespace Program
{
class Demo
{
static void Main(string[] args)
{
int n = 7;
int res = PrimeFunc(n);
if (res == 0)
Console.WriteLine("अभाज्य संख्या नहीं: " + n);
else
Console.WriteLine("अभाज्य संख्या: " + n);
Console.Read();
}
private static int PrimeFunc(int n)
{
if (n <= 1) return 0;
if (n == 2) return 1;
if (n % 2 == 0) return 0;
for (int i = 3; i * i <= n; i += 2) // केवल विषम संख्याएँ, √n तक
{
if (n % i == 0)
return 0;
}
return 1;
}
}
}
आउटपुट
अभाज्य संख्या
तुलना
| पहलू | तरीका 1 (O(n)) | तरीका 2 (O(√n)) |
|---|---|---|
| समय जटिलता | O(n) | O(√n) |
| बड़े n के लिए | धीमा | तेज़ |
| कोड पुन: उपयोग | नहीं | हाँ (फंक्शन) |
अतिरिक्त अनुकूलन
- 2 के बाद केवल विषम संख्याएँ जांचें (
i += 2)। - छोटी अभाज्य संख्याओं (2, 3, 5) से जल्दी विभाज्यता जांचें।
- बहुत बड़ी संख्याओं के लिए मिलर-रैबिन प्राइमैलिटी टेस्ट (प्रोबेबलिस्टिक)।