ในปัญหานี้ เราได้รับตัวเลข 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