最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)列問題的評論 (共 條)

分享到微博請遵守國家法律
肥西县| 定南县| 韶山市| 云霄县| 奉贤区| 陆良县| 雷州市| 富源县| 青阳县| 庐江县| 酒泉市| 班戈县| 克山县| 汉阴县| 西城区| 邵阳市| 曲靖市| 安阳市| 无极县| 兴山县| 泰州市| 南皮县| 南靖县| 历史| 彰武县| 西华县| 北碚区| 唐河县| 宜君县| 临沭县| 定襄县| 蓬安县| 苏尼特右旗| 温泉县| 资阳市| 河东区| 娄底市| 台江县| 卫辉市| 开封市| 马关县|