คำนวณผลรวมของเลขยกกำลัง
ในแบบฝึกหัดนี้ จะได้คำนวณผลรวมของเลขยกกำลังด้วยวิธี recursion โดยอนุกรมทางคณิตศาสตร์นี้นิยามไว้ดังนี้:
result=1สำหรับstep = 1result + step^stepสำหรับstep > 1
ตัวเลขในอนุกรมนี้เพิ่มขึ้นอย่างรวดเร็วมากและไม่ลู่เข้าสู่ค่าใดค่าหนึ่ง เป้าหมายของแบบฝึกหัดนี้คือคำนวณผลรวมของเลขยกกำลังที่ step = 9
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Hierarchical and Recursive Queries in SQL Server
คำแนะนำการฝึกหัด
- กำหนด CTE
calculate_potenciesพร้อมระบุฟิลด์stepและresult - กำหนดค่าเริ่มต้นของ
stepและresultโดยใช้นิยามของอนุกรมทางคณิตศาสตร์เป็นแนวทาง - เพิ่ม step ถัดไปใน
POWER(step + 1..และบวกเข้ากับresult
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Define the CTE calculate_potencies with the fields step and result
WITH ___ (___, ___) AS (
SELECT
-- Initialize step and result
___,
___
UNION ALL
SELECT
step + 1,
-- Add the POWER calculation to the result
___ + POWER(step + 1, ___ + 1)
FROM calculate_potencies
WHERE step < 9)
SELECT
step,
result
FROM calculate_potencies;