Oracle中怎么输出素数
时间: 2024-10-20 07:19:12 浏览: 10
在Oracle中,你可以使用PL/SQL来生成并输出100到200之间的素数。下面是一个简单的示例,它定义了一个`is_prime`函数来检查一个数字是否是素数,然后通过循环遍历范围内的所有数字并打印素数:
```sql
DECLARE
num NUMBER := 100; -- 范围起始值
limit NUMBER := 200; -- 范围结束值
prime_count NUMBER := 0; -- 素数计数
FUNCTION is_prime(p NUMBER) RETURN BOOLEAN AS
BEGIN
IF p <= 1 THEN
RETURN FALSE;
ELSEIF p = 2 THEN
RETURN TRUE;
ELSE
FOR i IN 2..SQRT(p) LOOP
IF mod(p, i) = 0 THEN
RETURN FALSE;
END IF;
END LOOP;
RETURN TRUE;
END IF;
END is_prime;
BEGIN
WHILE num <= limit LOOP
IF is_prime(num) THEN
DBMS_OUTPUT.PUT_LINE(num); -- 打印素数
prime_count := prime_count + 1; -- 计数
END IF;
num := num + 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Number of primes from ' || num - limit + 1 || ' to ' || num || ' is: ' || prime_count);
END;
/
```
运行此代码,你会看到100到200之间所有的素数,并得到它们的总数。
阅读全文