五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

SQL每日一題,等比數(shù)列問題

2023-02-28 22:01 作者:SQL數(shù)據(jù)庫開發(fā)  | 我要投稿

等比數(shù)列問題

問題描述

一家公司第一天給你1分錢,第二天給你2分錢,第三天給你4分錢,依次類推到第30天一共給你多少錢?


問題分析

這是一個典型的等比數(shù)列的問題,我們可以借助等比數(shù)列的公式使用WHILE循環(huán),還有CTE遞歸方法來求解


WHILE求解

--定義變量
DECLARE?@i?DECIMAL?(18,?2) =?0.01,?--初始為第1天0.01元
@total?DECIMAL?(18,?2) =?0,
@m?INT?=?2,?--@m為每天翻多少倍
@n?INT?=?2,?--@n為第幾天,因為是第2天才開始翻倍,所以初始設為2
@Max?INT?=?30?--@Max為截止翻倍的那天

WHILE?@n <= @Max
BEGIN
SELECT?@i = @i * @m?--計算當天多少錢
SELECT?@total = @total + @i?--計算截至當天總共多少錢
SELECT?@n = @n +?1?--循環(huán)變量累加1天
END
--輸出信息
SELECT?@total


CTE遞歸求解

WITH CTE (n, i, total) AS (
SELECT?1
,CAST?(0.01?AS?DECIMAL(18,?2))?--第1天只有0.01元
,CAST?(0.01?AS?DECIMAL(18,?2))?--第1天當天總共0.01元
UNION?ALL
SELECT?n +?1?--n加1天
,CAST?(i *?2?AS?DECIMAL(18,?2))?--第n + 1天有多少錢
,CAST?(total + i *?2?AS?DECIMAL?(18,?2))
--第n + 1天當天總共多少錢
FROM?CTE
WHERE?n <?30?--結束遞歸
)

SELECT?*?FROM?CTE


SQL每日一題,等比數(shù)列問題的評論 (共 條)

分享到微博請遵守國家法律
工布江达县| 怀安县| 手游| 稷山县| 齐河县| 马山县| 石嘴山市| 黄浦区| 象山县| 宜丰县| 东莞市| 化州市| 望城县| 新郑市| 绩溪县| 舒兰市| 朝阳区| 边坝县| 若尔盖县| 盐亭县| 安阳市| 清流县| 庄河市| 黄大仙区| 喜德县| 新余市| 新绛县| 柞水县| 阳城县| 长泰县| 兰溪市| 舞钢市| 筠连县| 乐至县| 固安县| 桃江县| 中卫市| 牙克石市| 台安县| 宝应县| 娄底市|