ในปัญหานี้ เราได้รับตัวเลข n งานของเราคือการพิมพ์ลวดลายโดยลดลงเหลือ 0 หรือติดลบแล้วเพิ่มกลับเป็นตัวเลข
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
Input: n = 12 Output: 12 7 2 -3 2 7 12
เพื่อแก้ปัญหานี้ เราจะใช้การเรียกซ้ำและเรียกใช้ฟังก์ชันหลังการอัปเดตแต่ละครั้ง ติดตามการอัปเดตโดยใช้ตัวแปรแฟล็กซึ่งบอกให้ฟังก์ชันเพิ่มหรือลดจำนวนขึ้น 5
ตัวอย่าง
โค้ดด้านล่างช่วยให้ใช้งานโซลูชันของเราได้
#include <iostream> using namespace std; void printNextValue(int m){ if (m > 0){ cout<<m<<'\t'; printNextValue(m - 5); } cout<<m<<'\t'; } int main(){ int n = 13; cout<<"The pattern is:\n"; printNextValue(n); return 0; }
ผลลัพธ์
The pattern is − 13 8 3 -2 3 8 13