Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ หาอาร์เรย์สมบูรณ์ขนาด n ที่ทุกสับอาร์เรย์เป็นอาร์เรย์ดี

สมมติว่าเรามีตัวเลข n อาร์เรย์ B ถือว่า "ดี" ถ้าผลรวมขององค์ประกอบหารด้วยความยาวของอาร์เรย์ลงตัว เราบอกว่าอาร์เรย์ A ขนาด n เป็น "สมบูรณ์" (perfect) ถ้าสับอาร์เรย์ (subarray) ที่ไม่ว่างทุกตัวของ A เป็นอาร์เรย์ดี และองค์ประกอบใน A อยู่ในช่วง 1 ถึง 100 จากตัวเลข n เราต้องหาอาร์เรย์ A ที่เป็นสมบูรณ์

เช่น ถ้าค่าที่ป้อนเข้าเป็น n = 4 ผลลัพธ์จะได้ [7, 37, 79, 49] คำตอบอื่นก็ได้

ขั้นตอนการแก้ปัญหา

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

สำหรับ i := 0 เมื่อ i < n เพิ่ม i ทีละ 1 ทำ:    พิมพ์ 1

ตัวอย่างโค้ด

ดูการนำไปใช้จริงด้านล่างเพื่อความเข้าใจที่ดียิ่งขึ้น:

#include<bits/stdc++.h> using namespace std; void solve(int n){    for(int i=0;i<n;i++){       cout<<"1"<<", ";    } } int main(){    int n = 4;    solve(n); }

ข้อมูลนำเข้า

4

ข้อมูลส่งออก

1, 1, 1, 1,