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为奇数的员工的信息。