当前位置:首页 » 操作系统 » 数据库素数

数据库素数

发布时间: 2022-07-03 18:15:09

A. 用Visual FoxPro 怎么输出3到100之间所有的素数之和

稍微有点复杂,不过还行,要先建数据库SH.DBF 就一个字段 "素数"
程序如下:
clea
set talk off
sele 1
use sh
zap
n=0
j=3
do while j<=100
for i=2 to j-1
if j%i=0
n=n+1
endif
endfor

if n=0
appe blan
repl 素数 with j
endif
j=j+1
n=0

enddo

sum 素数 to a
?a

B. sql怎么判断查奇偶数

首先第一句话:虽然我不知到这两个数是什麽,但我知道你一定也不知道。 从这句话说明孙手里拿到的两个数肯定都不是素数(什么是素数?就是除了1和它本身以外不再有其他因数的自然数),不然的话,孙通过知道庞的和就可以唯一判断出这两个数字了
推理一:比如A=a+b,B=a*b;B=15,A=8,那么很容易就猜想到了a=3,b=5 (因为对15进行拆分只有一种可能),所以对庞的第一句话产生了矛盾;那么a,b两个数可能是一个奇数,一个偶数;另外有位大神认为任意大于4的偶数都能被拆成两个奇质数之和,但由于两个质数都要小于99,所以庞手上的数可能为偶数,但这个偶数会接近200(有182,184,188,190,192,196和198),除此之外,只可能是奇数;举例:如果庞涓手上是28,可以拆成11+17,当孙膑拿到了187这个积,马上就可以猜出鬼谷子给他的两个数是11和17,与庞涓肯定孙膑不知道这两个数相矛盾,因此有可能拆成两个2-99的质数和的数都要排除因此有可能拆成两个2-99的质数和的数都要排除
推理二:庞的和数一定不是大于55的数。因为大于53的数始终能够拆成质数53和另一个大于2的数,在2-99的限制下,这两个数的乘积只有这唯一一种拆分方法。举例:如果庞手上的和数是57,可以拆成53+4,当孙膑拿到212这个积,只有4*53这一种拆分可能性,因为2*106的另一种拆分方法导致有一个数超过99。由此排除55以上的所有所有数因此最后满足以上条件的这样的数字仅有11个:11,17,23,27,29,35,37,41,47,51,53。
第二句话:本来我不知道,现在知道了;这说明孙看了自己手上的积后,分解因式对应的所有拆分情况中有且仅有一种,两个因数的和是以上11个数中的一个。
第三句话:那我也知道了;由于庞涓并不知道两数积,所以只能从以上表格出发确定,最后得到两个数字分别是4和13

也许上面的解析并不通俗易懂,其中涉及到很多数学知识和推理能力,如果感兴趣可以基于上述讲解自行进行推导;其实这道题的本质是基于每次的问题进行排除,尽可能的缩小范围,最后得到结果;那么最后通过SQL的方式来解决这类问题,或许通过sql(基于HQL)的方式可以帮助读者更加清晰理解

C. vb判断素数

正确程序如下(可以通过比较寻找自己的错误):

Private Sub Command1_Click()
X = Text1.Text
For i = 2 To X - 1
If X Mod i = 0 Then
F = 1
Exit For
End If
Next i
If F = 1 Then
Label2.Caption = "你输入的数是" & X & ",该数不是素数。"
Else
Label2.Caption = "你输入的数是" & X & ",该数是素数。"
End If
End Sub

(3)数据库素数扩展阅读:

质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。

根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。

目前为止,人们未找到一个公式可求出所有质数。

2016年1月,发现世界上迄今为止最大的质数,长达2233万位,如果用普通字号将它打印出来长度将超过65公里。

D. 数据库输出100到2000之间的素数

declare @i int,@j int,@r int
set @i=100
while @i<2000
begin
set @j=1
set @r=1
while @j<@i
begin
if @i%@j=0 and @i<>@j and @j<>1
begin
set @r=0
break
end
set @j=@j+1
end
if @r=1 print @i
set @i=@i+1
end

E. oracle怎么求1..1000之间的素数

Oracle是数据库,存储数据用的,应用逻辑最好放在数据库外面,虽然可以实现,但是并不提倡。

set serverout on

DECLARE
v_iNUMBER;
v_jNUMBER;
v_cntNUMBER;
TYPEtype_arrayISTABLEOFNUMBER;
primestype_array;
flagNUMBER;
BEGIN
primes:=type_array();
primes.extend;
primes(1):=2;
primes.extend;
primes(2):=3;
v_i:=5;
v_cnt:=2;
LOOP
EXITWHENv_i>1000;
flag:=1;
v_j:=1;
LOOP
EXITWHENprimes(v_j)*primes(v_j)>v_i;
IFMOD(v_i,primes(v_j))=0THEN
flag:=0;
EXIT;
ENDIF;
v_j:=v_j+1;
ENDLOOP;
IFflag=1THEN
primes.extend;
v_cnt:=v_cnt+1;
primes(v_cnt):=v_i;
dbms_output.put_line(v_i);
ENDIF;
v_i:=v_i+2;
ENDLOOP;
END;
/

F. 用数据库编程实现:求2~100之间的所有素数

declare @I int=2,@J int,@K bit
while @I<100
begin
set @J=2
set @K=1
while @J<@I-1
begin
if @I%@J=0 set @K=0
set @J=@J+1
end
if @K=1 print @I
set @I=@I+1
end

G. 用C语言把2-100之内的素数放到数组里,并且输出来。

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#define n 100

int main()

{

int a[n+1]={0};

int i,j;

for(i=2;i<=sqrt(n);i++){

if(a[i]==0){

for(j=2*i;j<=n;j+=i){

a[j]=1;

}

}

}

for(i=2;i<=n;i++){

if(a[i]==0)

printf("%d ",i);

}

return 0;

}

输出100以内的素数,思路:

假如自然数N不是素数,则除1和其本身之外,必然至少存在两个数A和B,使得A*B=N,则A和B中必有一个大于或者等于sqrt(N),另一个小于或者等于sqrt(N)。下面是粗略证明如果N是合数,则必有一个小于或者等于根号N的素因子.因为任何合数都可表示为两个或者更多个素数之积。

假如N是合数且其素因子都大于根号N,那么将产生矛盾:根号N*根号N>N。所以合数必有(至少)一个不大于根号N的素因子。

n的不大于根号的因子<=sqrt(n);n-1的不大于根号的因子<=sqrt(n-1),显然sqrt(n-1)<sqrt(n);所以2~n内的自然数的因子范围是2~sqrt(n);换句话说2~sqrt(n)的倍数覆盖了了2~n范围内的合数。

(7)数据库素数扩展阅读:

数组使用规则:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。

3.如不给可初始化的数组赋初值,则全部元素均为0值。

4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

网络-数组

H. java多个线程求1到100的素数,,并将素数存入到数据库中,怎么弄

将1到100分十个数组,开十个线程进行计算,开启线程可以用thread类,或runnable接口

热点内容
mvc多文件上传 发布:2024-11-17 23:13:56 浏览:152
玩游戏硬盘缓存32m 发布:2024-11-17 23:03:42 浏览:522
蓝光存储系统 发布:2024-11-17 23:03:41 浏览:433
地平线4提示配置低于最低怎么办 发布:2024-11-17 22:54:38 浏览:608
注册银行卡账户密码填什么 发布:2024-11-17 22:54:35 浏览:535
java压缩上传图片 发布:2024-11-17 22:26:59 浏览:625
plc编程课件 发布:2024-11-17 22:18:23 浏览:467
我的世界服务器信号一直在检测 发布:2024-11-17 22:09:52 浏览:545
二级c语言教材 发布:2024-11-17 22:03:08 浏览:951
如何修改微软密码修改 发布:2024-11-17 21:48:23 浏览:347