สมมติว่าเรามีตัวเลข 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,