當前位置:首頁 » 編程語言 » sql求50階乘
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql求50階乘

發布時間: 2022-07-23 17:06:51

1. 如何在sql中實現階乘運算

????
這個??

2. 用Transact-SQL語句創建一個求階乘的函數!!!!

居然用SQL這種集合操作語言,來做類C的函數式語言的事(雖然是可以的):(


現在的老師也太無聊了,估計自己很少真正使用SQL。

/*--=============================================
--Author: Yew
--Createdate:2016-10-26
--Description: 計算階乘

--testCode-------------
SELECTdbo.uf_Factorial(-1)
SELECTdbo.uf_Factorial(0)
SELECTdbo.uf_Factorial(1)
SELECTdbo.uf_Factorial(10)
SELECTdbo.uf_Factorial(33)--會否溢出?

----History-----------------
--=============================================*/
ALTERFUNCTIONdbo.uf_Factorial(
@N INT
)RETURNSBIGINT
AS
BEGIN
IF@N<0
RETURNNULL--RAISERROR(N'參數N不能為負')

IF@N=0
RETURN1

RETURNdbo.uf_Factorial(@N-1)*@N--遞歸
END

GO

3. sql 求n階乘

create procere的意思就是建立存儲過程,factorial是存儲過程的名字,@n int定義參數,用來將要計算階乘的數值傳入存儲過程,as關鍵字後面就是存儲過程的定義語句了。

4. 用T-SQL語句做計算1至5階乘之和

T-SQL不會,以下是另外兩種方法:

第1種:
insert into table1 (shuzi) values (1);
insert into table1 (shuzi) values (2);
insert into table1 (shuzi) values (3);
insert into table1 (shuzi) values (4);
insert into table1 (shuzi) values (5);

select sum(shuzi * shuzi) 結果 from table1

第2種(pl_sql):
declare
number1 number := 1;
number2 number := 5;
i number;
jieguo number :=0;
begin
for i in number1..number2 loop
jieguo := jieguo + i * i;
end loop;
dbms_output.put_line(jieguo);
end;

5. 怎麼在SQL資料庫中求一個數的階乘

createfunctionjc(@Aint)

returnsbigintas

begin

declare@Rbigint,@Iint

set@R=1

set@I=1

while@I<=@A

begin

set@R=@R*@I

set@I=@I+1

end

return@R

end

6. 用資料庫怎樣求解階乘

declare @sum bigint,@count int
select @sum=1,@count=1
label:
select @sum=@sum*@count
select @count=@count +1
if @count <=20
goto label
select @sum

這個是sql的 1到20的階乘 count少於15可以直接定義@sum int 大於的話會算數溢出

7. 如何在SQL SERVER中實現階乘運算

以下為求10的階乘的代碼

declare @i int,@r int
set @i=1
set @r=1

while @i<=10
begin
set @r=@r*@i
set @i=@i+1
end

--顯示10的階乘的結果
print @r

--上面一行也可以換成 select @r

祝你好運!

8. 全國計算機等級考試,計算機二級,報哪個科目好

全國計算機二級包括C, C++, JAVA, visual basic,Delphi,VF, Access等科目,如果樓主你們有相應的課程的話,那你就報你們學的,但如果是自學,這個就沒有好不好考的問題了,應為,只要你認真學,一定能過

我建議你考C語言,因為它比較主流,含金量高,呵呵,再說,也不難考的,我建築系的學生,跟這個根本就不佔邊,自學了一個多月,就拿下了,所以,你一定要堅定信心

C語言分筆試和上機 筆試有三十分的公式基礎部分 知識比較雜 這個就是要背的 不過我有一套不錯的講義 對你肯定大有幫助 給我一個郵箱吧 我給你發過去
剩下的七十分 那就是貨真價實的C語言知識了 你一定要買本譚浩強編的C語言程序設計 (綠色封皮) 這個可以稱為考C語言的經典之作 再來本練習題 堅持學下去就行
至於上機嘛 一共就三道題 幾乎都是筆試的內容搬到電腦 缺少上機的機會 沒什麼影響的 買本南開一百例 這本書可是上機的經典這作 書中許多題和我們考試中的一模一樣 哈哈 別嚇到 做二十套足夠了

最後,祝你成功

9. PL/SQL算階乘.

唉,自己這都不動腦筋啊,給個例子你參考,不給你答案.
/*
我們求出sal銷售業績的平均值,如果平均<規定的額度,那麼我們循環
加1塊錢,直到平均業績達到指定的額度
*/
--loop循環演示
declare
v_sal_avg emp.sal%type;
begin
loop
select avg(sal) into v_sal_avg
from emp;

exit when v_sal_avg >= 3000;

update emp set sal=sal+1;
end loop;
commit;
end;
自己多學習,多鍛煉,才有進步

10. 用C語言 求個 能得到50階乘的程序 注意long long 裝不下50階乘

#include <stdio.h>
int main()
{
long int n;
long int a[250000]; //確保保存最終運算結果的數組足夠大
long int digit = 1; //結果的位數
long int temp; //階乘的任一元素與臨時結果的某位的乘積結果
long int i,j,carry; //i:1~n的某一階乘元素;carry:進位
printf("please in put n:\n");
scanf("%d",&n);
a[0] = 1; //將結果先初始化為1
for(i = 2; i <= n; i++)
{ //開始階乘,階乘元素從2開始依次"登場"
//按最基本的乘法運算思想來考慮,將階乘元素i與臨時結果的每位a[j-1]相乘
for( j = 0, carry = 0; j < digit; j++)
{
temp = i * a[j] + carry; //相應階乘中的一項i與當前所得臨時結果的從低到高各位a[j-1]依次相乘(加上進位)
a[j] = temp % 10; //更新臨時結果的位上信息
carry = temp / 10; //更新相乘後的進位
}
while(carry) //如果有進位
{
++digit; //新加一位,添加信息。位數增1
a[digit-1] = carry % 10; //將進位放在新加的結果位上
carry = carry/10; //看還能不能進位
}
}
printf("n ! = "); //輸出結果
for(j = digit; j >=1;j--)
{
printf("%d",a[j-1]);
}
printf("\n%d",digit);
return 0;
}