当前位置:千优问>生活百科>oracle 函数问题,sqrt,mod 怎么用啊?

oracle 函数问题,sqrt,mod 怎么用啊?

2022-12-16 01:30:10 编辑:lily 浏览量:642

oracle 函数问题,sqrt,mod 怎么用啊?

oracle 函数问题,sqrt,mod 怎么用啊?

这2个函数是你说的意思没错,你是不理解为什么这么用吗?我觉得这个函数和我理解的有点不一样。for v_j in 2 ..sqrt(v_u) loop;应该是for v_j in 2 ..sqrt(v_i) loop;v_u 应该是函数接收的一个参数,你说100它就给你前100内的素数,外层那个循环也应该是以v_u为上限的。这个函数结构很简单,外层以2~100循环,很明显就是循环每个数字,内层就是用来检测v_i这个数字是不是素数。内层循环就是由2~sqrt(v_i)逐个和v_i去mod,如果能整除,说明这个v_i不是素数,因为找到一个数能整除,然后把标志位v_flag置为0,内层循环完了,后面if v_flag = 1 then dbms_output.put_line(v_i);就是如果这个标志位还是1,没变化过,说明没找到过能整除v_i的数,也就是说这个数是素数。至于内层循环循环为什么只要2~sqrt(v_i)就够了,这是个数学问题,我答不上来,反正就是这样,这个范围是严谨的,而且对于这种验证方法,平方根要省很多时间,我们验证97的时候肯定不用循环到96,也不用循环到一半,sqrt就够了。

标签:oracle,sqrt,mod