1. 利用t-sql語句完成:計算1~100間的所有偶數的加和
通過while計算:
declare @sum1 int =0
declare @n int =1
while @n<=100
begin
if @n%2=0
begin
set @sum1=@sum1+@n
end
set @n=@n+1
end
print @sum1
當n==1時執行while循環結構里的語句,當n不等於1時,則跳過該循環執行循環體外的語句。
while 循環的格式:while (表達式){語句;}
while 循環的執行順序:當表達式為真,則執行下面的語句,語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句,然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。
例:
inta=NULL;
while(a<10){
a++;//自加
if(a>5)//不等while退出循環,直接判斷循環
{break;//跳出循環}
}
結果: 結束後 a的值為6 。
(1)sql偶數之積擴展閱讀:
用continue語句計算1~100之間所有偶數相加之和
clear all
clc
a=1:100;
sum=0;
for i=1:100
if rem(a(i),2)==0
sum=sum+a(i);
else
continue
end
end
2. 在SQL軟體中用while循環控制語句編寫求1到20的偶數之積和基數之和的程序
--oracle中的解決方法(1到20的偶數之積)
declare
-- Local variables here
i integer;
s number;
begin
s :=1;
for i in 1..10 loop
-- Test statements here
s:=s*i*2;
end loop;
dbms_output.put_line(s);
end;
基數的和這個類似
3. sql server求偶數之積和奇數之和
declare @i tinyint,@sum smallint,@multi int
set @i=1
set @sum=0
set @multi=1
while @i<=20
begin
if @i/2*2=@i
set @multi=@multi*@i
else
set @sum=@sum+@i
set @i=@i+1
end
select @sum,@multi
4. sql創建一個帶參數的存儲過程用於計算從一個數到另一個數的偶數之和,並把結
create proc sumvalues
@s int=10,
@e int=20
as
declare @sum int=0
while(@s<@e)
begin
if(@s%2=0)
begin
set @sum=@sum+@s
end
set @s=@s+1
end
select @sum
---下面為取值調用
exec sumvalues 10,20
5. 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)的方式可以幫助讀者更加清晰理解
6. 用access中sql計算1到100奇數和或偶數和
代碼如下:
SubProce1()
DimiasInteger
Fori=0to100
IfiMod2=1
theni=i+1
Endif
Debug.Printi
Endsub
上面的是求奇數的和,如果是求偶數和的話,把 if 後面改為:i Mod 2 = 0 就ok了~
7. sql使用語句求0至200的偶數之和
DECLARE @i int,@s int
SELECT @i=2,@s=0
WHILE @i<=200
BEGIN
SELECT @s=@s+@i
SELECT @i=@i+2
END
PRINT '200以內的偶數之和為:'+CAST(@s AS char)
8. sql中判斷值是否偶數的語句
SELECT *
FROM employees e
WHERE e.emp_no %2=1
這意思就是:從employees表中選出所有emp_no為奇數的員工的信息。