>  기사  >  데이터 베이스  >  判断质数

判断质数

WBOY
WBOY원래의
2016-06-07 14:55:161837검색

判断整数是否为质数 无 CREATE FUNCTION CheckPrimeNumber(@No BIGINT) RETURNS TINYINT AS BEGIN IF @No = 1 RETURN 0 DECLARE @maxV BIGINT, @Index BIGINT SET @maxV = @No - 1 SET @Index = 2 WHILE @Index @maxV BEGIN DECLARE @maxV2 BIGINT, @Index2 B

判断整数是否为质数
CREATE FUNCTION CheckPrimeNumber(@No BIGINT) 
RETURNS TINYINT 
AS 
  BEGIN 
      IF @No <= 1 
        RETURN 0 

      DECLARE @maxV  BIGINT, 
              @Index BIGINT 

      SET @maxV = @No - 1 
      SET @Index = 2 

      WHILE @Index < @maxV 
        BEGIN 
            DECLARE @maxV2  BIGINT, 
                    @Index2 BIGINT 

            SET @maxV2 = @maxV 
            SET @Index2 = @Index 

            WHILE @Index2 < @maxV2 
              BEGIN 
                  IF @Index2 * @Index = @No 
                    RETURN 0 

                  SET @Index2 = @Index2 + 1 
              END 

            SET @Index = @Index + 1 
        END 

      RETURN 1 
  END 
GO
SELECT dbo.CheckPrimeNumber(13) -- 返回值1,表示素数,0表示非素数。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.