當前位置:首頁 » 編程語言 » sql中列印100以內的質數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql中列印100以內的質數

發布時間: 2023-03-27 15:49:32

㈠ 求助:在T-sql中求100~200之間的素數

declare @i int
declare @j int
declare @k int

set @i=100
while(@i<200)
begin
set @k=2

set @j=sqrt(@i)
while(@k<=@j)
begin

if(@i%@k=0)
break
if(@j=@k)
print @i
set @k=@k+1
end
set @i=@i+1
end

㈡ 用SQL求100以內的素數

曾經在哪裡見到過(忘記了),保存了下來,剛剛測試了一下完全正確
貼出來供你參考吧,如下:
declare @a int,@b int,@i int
set @i=1
while @i<100
begin
set @a=2
set @b=0
while @a<=@i/2
begin
if @i % @a=0
begin
set @b=1
break
end
set @a=@a+1
end
if @b=0 print @i
end

㈢ 使用SQL編寫程序,輸出100以內所有的素數


05以後可以這樣寫

withtemp1(col1)as
(select1col1
unionall
selectcol1+2col1
fromtemp1
wherecol1+2<=100
)
selectsum(col1)fromtemp1;

沒測試,有問題你再追問吧,

***************************好吧,忘記素數是什麼了,,寫成了1,3,5,7這樣的和了,,,

selectsum(a.number)
frommaster..spt_valuesa
wherea.numberbetween2and100anda.type='p'
andnotexists(select*frommaster..spt_valuesb
whereb.numberbetween2and100andb.type='p'
anda.number>b.number
anda.number%b.number=0)



㈣ 用一個SQL 2000 的存儲過程完成1~100內所有質數的和

不寫太多了,就把基本實現寫出來吧
ALTER
proc
[dbo].[testz]
as
declare
@i
int
declare
@j
int
declare
@sql
varchar(200)
drop
table
a
create
table
a
(ID
int,
Number
int)
select
@i=1
while
@i<=100--此處設置為100以內
begin
exec('insert
a(id,Number)
values('+@i+','+@i+')')
select
@i=@i+1
end
deallocate
rs
declare
rs
cursor
for
select
id,number
from
a
for
update
open
rs
fetch
next
from
rs
into
@i,@j
while
@@fetch_status=0
begin
if
@j!=1
and
@j!=0
begin
select
@sql='update
a
set
Number=0
where
Number%'+cast(@j
as
varchar)+'=0
and
Number!='+cast(@j
as
varchar)
exec(@sql)
end
fetch
next
from
rs
into
@i,@j
end
close
rs
select
*
from
a
where
number!=0
--返回設定值以內質數
select
sum(number)
from
a
--返回質數和

㈤ 用c語言輸出100之間的所有質數

1、首先新建一個空白的c語言文件,引入頭文件,頭文件中包括math庫,稍後會用到,建立主函數:

㈥ 用 oracle中PL/SQL演算法 求100內的素數

本過程輸入參數inp,計算1到inp之間的素數

演算法:
拿出1-inp之間森衫的每個數i,用2到i的平方根之間的每個數去數拿除,全部除不盡的即為素數,有一個能除盡的為非素數此畢腔

set serverout on
create or replace procere is_prime(inp number)
as
i number;
j number;
is_prim boolean;
begin
dbms_output.new_line;
dbms_output.put(to_char(2)||' ');
for i in 3..inp loop
begin
is_prim:=true;
for j in 2..trunc(sqrt(i)) loop
if mod(i,j)=0 then
begin
is_prim:=false;
exit;
end;
end if;
end loop;
if is_prim then dbms_output.put(to_char(i)||' '); end if;
end;
end loop;
dbms_output.new_line;
end;
/

exec is_prime(100)

㈦ 用SQL輸出100-200之間的全部素數

#include "stdio.h"
#include "math.h"
void main()
{
int m,i,k;
printf("100-200之間的全部素數為:\n");
for(m=100;m<=200;m++)
{
k=(int)sqrt(m); /*強制轉換*/
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>=k+1) printf("%d ",m);
}
printf("\n");
}

㈧ 用T_SQL怎樣編寫求從1到100內的質數並逐個輸出然後求和

declare @i int
declare @m int
declare @n int
declare @sum int --計算之和
--為了提高執行效率,可以從 5 開始,2和3單獨顯示
select 2 '質數'
select 3 '質數'
set @sum =5
set @i = 5
while @i < 100
begin
set @m = 2
set @n = 0 --標志變數
while @m < @i/2
begin
if @i % @m = 0
begin
set @n = 1
break --取余為零則非質數,退出循環
end
set @m = @m + 1
end
if @n = 0
begin
select @i '質數'
set @sum = @sum +@i
end
set @i = @i + 2 --因為從5開始,其餘質數均為奇數,加二提高效率

end

select @sum '質數之和'

㈨ 列印1到100之間的素數

#include<iostream>

#include<模閉cstdio>

#include<fstream>

#include<cstring>

#include<string>

#include<cstdlib>

#include<cmath>

#include<algorithm>拆攜

#include<queue>

#include<deque>

#include<stack>

#include<map>

#include<set>

#include<list>

#include<vector>

#include<ctime>

#include<functional>

#include<iterator>


usingnamespacestd;


int旅碼伏main()

{

longlongn;


cin>>n;


vector<int>data;


data.resize(n+1);


//intdata[n];

intptr=0;

intpr;

longlongcounter=0;


data[ptr++]=2;

data[ptr++]=3;


for(pr=5;pr<=n;pr+=2)

{

intflag=0;

for(inti=0;counter++,data[i]*data[i]<=pr;i++)

{

counter++;

if(pr%data[i]==0)

{

flag=1;

break;

}

}

if(!flag)

data[ptr++]=pr;

}


for(inti=0;i<ptr;i++)

cout<<data[i]<<endl;


cout<<"Number:"<<ptr<<". ";

cout<<"Count:"<<counter<<". ";


cout<<"a";


return0;

}

打開程序輸入幾就可以達到幾

最後輸出Num是質數的個數,Count你忽略就行,是計算乘法的次數。


㈩ 如何用sql求1-100的素數

declare @input int
set @input = 100 -- 求100以內的素數
select A.number from master..spt_values A
where type='p' and number between 2 and @input
and not exists(select 1 from master..spt_values B
where B.type='p'
and B.number between 2 and sqrt(A.number)
and A.number % B.number =0
)
order by A.number