สมมติว่าเรามีตัวเลข n เราต้องการแบ่งออกเป็นตัวเลขที่ไม่ใช่ศูนย์ซึ่งมีผลรวมเป็น n เราต้องการหาวิธีแก้ไขด้วยจำนวนหลักที่ต่างกันน้อยที่สุด
ดังนั้น หากอินพุตเป็น n =13 ผลลัพธ์จะเป็น [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
for initialize i := 0, when i < n, update (increase i by 1), do: print 1
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h> using namespace std; void solve(int n){ for (int i = 0; i < n; i++) printf("1, "); } int main(){ int n = 13; solve(n); }
อินพุต
13
ผลลัพธ์
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,