| Author: Dharmaraj 03 Jul 2008 | Member Level: Diamond | Rating: Points: 6 |
Hi, Code for Prime numbers
Option Explicit Private m_lngPrimeArray() As Long Public Sub GenPrimes(ByVal lngCount As Long) Dim lngCounter As Long Dim lngNumber As Long Dim lngDevCounter As Long Dim blnPrime As Boolean Dim lngDevUBound As Long Dim sngStart As Single sngStart = Timer ReDim m_lngPrimeArray(lngCount + 2) 'The first prime is 2 (only devidable by 1 and itself)! m_lngPrimeArray(1) = 2 'Initialize some counters. lngNumber = 3 lngCounter = 2 lngDevUBound = 1 Do While lngCounter <= (lngCount + 2) 'Find the array index that contains the known prime 'smaller than the root of the number. Do While m_lngPrimeArray(lngDevUBound + 1) _ < Sqr(lngNumber) And Not _ m_lngPrimeArray(lngDevUBound + 1) = 0 lngDevUBound = lngDevUBound + 1 Loop 'Assume this number will be a prime. blnPrime = True 'Try dividing this number by any allready found prime 'which is smaller 'then the root of this number. For lngDevCounter = 1 To lngDevUBound If lngNumber Mod m_lngPrimeArray(lngDevCounter) = 0 Then 'Sorry number is dividable so no prime. blnPrime = False Exit For End If Next lngDevCounter If blnPrime Then 'Gues we found a new prime. m_lngPrimeArray(lngCounter) = lngNumber 'Increase prime found count. lngCounter = lngCounter + 1 End If 'Increase number. lngNumber = lngNumber + 2 Loop Debug.Print Timer - sngStart End Sub
|
| Author: sudha 04 Jul 2008 | Member Level: Gold | Rating: Points: 6 |
protected void Button1_Click(object sender, EventArgs e) { //SPECIFYING NUMBER RANGE for (int i = 1; i <= 40; i++) { bool a = CheckNo(Convert.ToInt32(i)); if (a == true) { Response.Write(i + " " + "Number is Prime" + " "); } else { Response.Write(i + " " + "Number is Not Prime" + " ); } } }
//FUNCTION FOR DETECTING PRIME NUMBERS protected bool CheckNo(int number) { bool Flag = true; if (number == 1 && number == 2) { Flag = false; } for (int i = number - 1; i >= 2; i--) { if (number % i == 0) { Flag = false; break; } } return Flag; }
|