krujeen / ocom

0 stars 0 forks source link

โจทย์: ลำดับ Fibonacci #2

Open krujeen opened 1 month ago

krujeen commented 1 month ago

โจทย์: ลำดับ Fibonacci

สถานการณ์

คุณเป็นนักเรียนในวิชาคณิตศาสตร์ และกำลังศึกษาเรื่องลำดับ Fibonacci ครูของคุณต้องการให้คุณเขียนโปรแกรมที่สามารถแสดงลำดับ Fibonacci ตามจำนวนที่ต้องการได้ เพื่อช่วยในการเรียนรู้และทำความเข้าใจลำดับนี้ได้ดียิ่งขึ้น

โจทย์

เขียนโปรแกรมที่รับจำนวนเต็มบวก n จากผู้ใช้ และแสดงลำดับ Fibonacci n ตัวแรก

โดยที่ลำดับ Fibonacci คือลำดับของจำนวนที่มีลักษณะพิเศษ คือ ตัวถัดไปจะมีค่าเท่ากับผลบวกของสองตัวก่อนหน้า โดยเริ่มต้นด้วย 0 และ 1

ลำดับ Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

ข้อมูลนำเข้า (Input)

ข้อมูลส่งออก (Output)

ข้อจำกัด

ตัวอย่างข้อมูลนำเข้าและข้อมูลส่งออก

ตัวอย่างที่ 1

Input:

5

Output:

0 1 1 2 3

ตัวอย่างที่ 2

Input:

10

Output:

0 1 1 2 3 5 8 13 21 34

ตัวอย่างที่ 3

Input:

1

Output:

0

หมายเหตุ

krujeen commented 1 month ago

https://github.com/krujeen/ocom/blob/main/Fibonacci.cpp

krujeen commented 1 month ago

Test Cases สำหรับโจทย์ลำดับ Fibonacci

Test Case 1: ค่าน้อยที่สุดที่เป็นไปได้

Input: 1 Expected Output: 0

Test Case 2: ค่าทั่วไปขนาดเล็ก

Input: 5 Expected Output: 0 1 1 2 3

Test Case 3: ค่าทั่วไปขนาดกลาง

Input: 10 Expected Output: 0 1 1 2 3 5 8 13 21 34

Test Case 4: ค่าทั่วไปขนาดใหญ่

Input: 20 Expected Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Test Case 5: ค่ามากที่สุดที่เป็นไปได้

Input: 50 Expected Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 2971215073 4807526976 7778742049

Test Case 6: ค่าขอบล่าง

Input: 2 Expected Output: 0 1

Test Case 7: ค่าขอบบน - 1

Input: 49 Expected Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 2971215073 4807526976

Test Case 8: ค่าที่อาจทำให้เกิดปัญหา Overflow

Input: 47 Expected Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903

Test Case 9: ค่าที่อาจทำให้เกิดปัญหา Time Limit Exceeded

Input: 45 Expected Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733

Test Case 10: ค่าที่อาจทำให้เกิดปัญหาในการจัดรูปแบบ Output

Input: 15 Expected Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

krujeen commented 1 month ago

โจทย์: ลำดับ Fibonacci แห่งอาณาจักรเอลเดน

สถานการณ์

ในดินแดนแห่งเวทมนตร์และความลึกลับ อาณาจักรเอลเดนกำลังเผชิญกับวิกฤตการณ์ครั้งใหญ่ ต้นไม้แห่งชีวิตที่หล่อเลี้ยงพลังวิเศษให้กับทั้งอาณาจักรกำลังเหี่ยวเฉา ราชาแห่งเอลเดนได้ปรึกษากับสภาเวทมนตร์และค้นพบว่าการฟื้นฟูต้นไม้แห่งชีวิตจำเป็นต้องใช้พลังจากผลึกเวทมนตร์พิเศษที่เรียกว่า "คริสตัลฟิโบนักชี"

คุณ ในฐานะนักเวทผู้มีพรสวรรค์ด้านตัวเลขและการคำนวณ ได้รับมอบหมายให้สร้างเครื่องมือวิเศษที่สามารถผลิตคริสตัลฟิโบนักชีได้ คริสตัลเหล่านี้จะต้องถูกสร้างขึ้นตามลำดับ Fibonacci อย่างแม่นยำ เพราะแม้แต่ความผิดพลาดเพียงเล็กน้อยก็อาจส่งผลร้ายแรงต่อการฟื้นฟูต้นไม้แห่งชีวิต

ทุกๆ วัน ณ เวลาพระจันทร์เต็มดวง สภาเวทมนตร์จะกำหนดจำนวน n ซึ่งเป็นจำนวนของคริสตัลฟิโบนักชีที่ต้องการ คุณมีเวลาเพียงช่วงสั้นๆ ในการปรับแต่งเครื่องมือวิเศษของคุณให้ผลิตลำดับ Fibonacci ที่ถูกต้องตามจำนวนที่ต้องการ

หากคุณสามารถผลิตคริสตัลฟิโบนักชีได้อย่างถูกต้องและทันเวลา คุณจะช่วยให้การฟื้นฟูต้นไม้แห่งชีวิตเป็นไปอย่างราบรื่น และรักษาสมดุลของพลังเวทมนตร์ในอาณาจักรเอลเดนไว้ได้

โจทย์

เขียนโปรแกรมที่รับจำนวนเต็มบวก n จากผู้ใช้ (ซึ่งเป็นคำสั่งจากสภาเวทมนตร์) และแสดงลำดับ Fibonacci n ตัวแรก

ลำดับ Fibonacci คือลำดับของจำนวนที่มีลักษณะพิเศษ คือ ตัวถัดไปจะมีค่าเท่ากับผลบวกของสองตัวก่อนหน้า โดยเริ่มต้นด้วย 0 และ 1

ลำดับ Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

ข้อมูลนำเข้า (Input)

ข้อมูลส่งออก (Output)

ข้อจำกัด

[ส่วนที่เหลือของโจทย์ยังคงเหมือนเดิม ได้แก่ ตัวอย่างข้อมูลนำเข้าและข้อมูลส่งออก และหมายเหตุ]