Alan Lawhon
lawhonac at hiwaay.net
Mon Oct 24 00:33:48 CDT 2011
Use integer arithmetic with the modulo function to determine if an integer is a prime number - of course!! (I almost feel like a programmer again.) J))) Alan C. Lawhon -- -- Figure out how to convert this script to a function and pass the prime number -- candidate in as a parameter. -- USE AP GO DECLARE @Prime_Number_Candidate AS int, @Y AS int, @Quotient AS int, @Remainder AS int SET @Prime_Number_Candidate = 29 -- -- Next two IF statements prevent a division by zero run-time error if -- @Prime_Number_Candidate just happens to be set to one. -- IF (@Prime_Number_Candidate = 1) SELECT CONVERT(varchar, @Prime_Number_Candidate) + ' is a PRIME number.' IF (@Prime_Number_Candidate = 1) RETURN -- SET @Y = @Prime_Number_Candidate - 1 SET @Quotient = @Prime_Number_Candidate/@Y SET @Remainder = @Prime_Number_Candidate%@Y -- WHILE @Y > 1 BEGIN SET @Quotient = @Prime_Number_Candidate/@Y SET @Remainder = @Prime_Number_Candidate%@Y IF (@Quotient > 1 AND @Remainder = 0) SELECT @Prime_Number_Candidate AS Prime_Number_Candidate, @Y AS Prime_Candidate_Minus_1, @Quotient AS Quotient, @Remainder AS Remainder IF (@Quotient > 1 AND @Remainder = 0) SELECT CONVERT(varchar, @Prime_Number_Candidate) + ' is NOT a prime number.' IF (@Quotient > 1 AND @Remainder = 0) SELECT CONVERT(varchar, @Prime_Number_Candidate) + ' is evenly divisible by ' + CONVERT(varchar, @Y) + '.' IF (@Quotient > 1 AND @Remainder = 0) RETURN SET @Y = (@Y -1) END -- IF (@Y = 1) SELECT CONVERT(varchar, @Prime_Number_Candidate) + ' is a PRIME number.' IF (@Y = 1) RETURN