Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. หาจำนวนสมาชิกความต่างสูงสุดที่เพิ่มเข้าเซตได้ใน C++

    ได้รับเซตของจำนวนเต็ม arr[n] งานคือหาจำนวนสมาชิกใหม่สูงสุดที่สามารถเพิ่มเข้าเซตได้ โดยสมาชิกใหม่ต้องเป็น ความต่างสัมบูรณ์ |a - b| ของสมาชิกเดิม a, b ในเซต และต้องไม่ซ้ำกับสมาชิกเดิมและระหว่างกัน นี่คือโจทย์คลาสสิก: ปิดเซตภายใต้การลบ (Closure under subtraction) ซึ่งนำไปสู่ ตัวคูณร่วมน้อยที่สุด (GCD)

  2. เพิ่มกำไรสูงสุดจากการขายสินค้าสูงสุด M ชิ้นใน C++

    งานคือคำนวณกำไรสูงสุดจากการขายสินค้าสูงสุด M ชิ้น จากทั้งหมด N ชิ้น กำหนดราคาทุน (CP[]) และราคาขาย (SP[]) ของแต่ละชิ้น ตัวอย่าง ตัวอย่างที่ 1 Input: N=6, M=4, CP[]={1,9,5,8,2,11}, SP[]={1,15,10,16,5,20} กำไรแต่ละชิ้น: {0, 6, 5, 8, 3, 9} เลือก 4 ชิ้นกำไรมากสุด: 9, 8, 6, 5 → รวม = 28 Output: 28 ตัว

  3. เพิ่มค่าตัวเลขสูงสุดโดยแทนที่ช่วงหลักติดต่อกันด้วยหลักทางเลือกใน C++

    งานคือเพิ่มค่าตัวเลข N (ที่มีหลายหลัก) ให้มากที่สุดโดยแทนที่หลักของมันด้วยหลักทางเลือกจากอาร์เรย์ arr[10] โดย arr[d] คือหลักทางเลือกสำหรับหลัก d (0-9) เงื่อนไขสำคัญ: แทนที่ได้เฉพาะ ช่วงติดต่อกัน (contiguous segment) เพียงช่วงเดียว และ ทำได้เพียงครั้งเดียว ตัวอย่าง ตัวอย่างที่ 1 Input: N = 1234, a

  4. เพิ่มผลคูณของ 4 ตัวประกอบของจำนวน N ให้สูงสุดใน C++

    งานคือหาผลคูณสูงสุดของ 4 ตัวประกอบ (factors) A, B, C, D ของจำนวน N โดยมีเงื่อนไข: A + B + C + D = N และ A,B,C,D ต้องเป็นตัวประกอบของ N ทั้งหมด ตัวอย่าง N = 10 ตัวประกอบ: 1, 2, 5, 10 ลองทุกชุด 4 ตัวที่รวมได้ 10: 5+2+2+1 = 10 → 5×2×2×1 = 20 ← สูงสุด 5+5+?+? → เกิน 10 10+... → เกิน 10 Output: 20 N =

  5. เพิ่มจำนวนคู่ที่ผลรวมหาร K ลงตัวสูงสุดใน C++

    งานคือหาจำนวนคู่ (i, j) สูงสุดที่ arr[i] + arr[j] หาร K ลงตัว โดยเงื่อนไข: แต่ละ index ใช้ได้สูงสุด 1 คู่ (ไม่ซ้ำ index) ตัวอย่าง ตัวอย่างที่ 1 Input: arr[] = {1, 2, 5, 8, 3}, K=2 Output: 2 คำอธิบาย: คู่ที่หาร 2 ลงตัว: (1,5)=6, (2,8)=10 → 2 คู่ (index ไม่ซ้ำ) ตัวอย่างที่ 2 Input: arr[] = {1, 3, 5

  6. เพิ่มค่าสูงสุดของค่าต่ำสุดใน K ช่วงย่อยติดต่อกันใน C++

    งานคือแบ่งอาร์เรย์ arr[] เป็น K ช่วงย่อยติดต่อกัน (consecutive sub-arrays) และหาค่าสูงสุดที่เป็นไปได้ของ ค่าสูงสุดของค่าต่ำสุด ของ K ช่วงย่อยเหล่านั้น ตัวอย่าง ตัวอย่างที่ 1 Input: arr[] = {2,8,4,3,9,1,5}, K=3 Output: 9 คำอธิบาย: แบ่งเป็น 3 ช่วง: {2,8,4,3}, {9}, {1,5} ค่าต่ำสุดแต่ละช่วง: 2, 9, 1 →

  7. หาความต่างดัชนี (i,j) สูงสุดที่ A[i][j] = 0 ในเมทริกซ์ C++

    ได้รับเมทริกซ์ขนาด n×n และเงื่อนไข a[i][j] = 0 งานคือหาความต่างของดัชนี |i - j| สูงสุดของตำแหน่งที่มีค่า 0 ตัวอย่าง ตัวอย่างที่ 1 Input: matrix = {{0, 1, 1}, {0, 0, 0}, {4, 5, 1}} ตำแหน่งที่เป็น 0: (0,0), (1,0), (1,1), (1,2) ความต่าง |i-j|: 0, 1, 0, 1 Output: 1 ตัวอย่างที่ 2 I

  8. เพิ่มผลรวม X+Y สูงสุดโดยเลือก X,Y องค์ประกอบจากอาร์เรย์ 1 และ 2 ใน C++

    ได้รับอาร์เรย์ 2 ชุด ขนาด N ทั้งคู่ งานคือเลือก X องค์ประกอบจากอาร์เรย์ 1 และ Y องค์ประกอบจากอาร์เรย์ 2 ให้ผลรวมสูงสุด ตัวอย่าง ตัวอย่างที่ 1 Input: arr1 = {1,2,3,4,5}, X=2 arr2 = {1,3,5,2,7}, Y=3 Output: 24 คำอธิบาย: เลือก 2 ตัวมากสุดของ arr1: 5,4 → เลือก 3 ตัวมากสุดของ arr2: 7,5,3 → รวม = 5+4+7+

  9. เพิ่มค่าตัวเลข A สูงสุดโดยแทนที่หลักบางหลักด้วยหลักของ B ใน C++

    งานคือเพิ่มค่าตัวเลข A ให้มากที่สุดโดยแทนที่หลักบางหลักด้วยหลักจากตัวเลข B หากไม่สามารถเพิ่มค่าได้ ให้คงค่าเดิม เงื่อนไข: หลักจาก B ใช้ได้ครั้งละ 1 ตัวเท่านั้น ตัวอย่าง ตัวอย่างที่ 1 Input: A = 1221, B = 1211 Output: 2221 คำอธิบาย: เลือก 2 จาก B แทน 1 ตัวแรกของ A → ได้ 2221 (แทนที่ครั้งเดียวเพราะ

  10. เพิ่มปริมาตรทรงสี่เหลี่ยมมุมฉากสูงสุดจากผลรวมด้านที่กำหนดใน C++

    ได้รับผลรวมของ 3 ด้านของทรงสี่เหลี่ยมมุมฉาก (Cuboid) คือ ความยาว (L), ความกว้าง (B), ความสูง (H) ปริมาตรคำนวณจาก V = L × B × H ปริมาตรจะสูงสุดเมื่อ 3 ด้านมีค่าใกล้เคียงกันมากที่สุด (หลักการ AM-GM inequality: ผลคูณสูงสุดเมื่อตัวเลขเท่ากัน) ตัวอย่าง S = 6 ด้านที่เป็นไปได้: [1,1,4] → V=4 [1,2,3] → V

  11. เพิ่มโอกาสได้ประเภทข้อมูลหนึ่งจาก N ภาชนะใน C++

    ความน่าจะเป็น P = (ผลลัพธ์ที่ต้องการ) / (ผลลัพธ์ทั้งหมด) กำหนดให้มี N ภาชนะ และมีจำนวน N ชุดของตัวเลข 2 ประเภท คือ X และ Y งานคือแบ่งตัวเลข X ไปใน N ภาชนะ ให้โอกาสในการจับได้ X สูงสุด เพื่อให้ P สูงสุด สามารถทำได้โดย: เพิ่มตัวเศษ (ผลลัพธ์ที่ต้องการ) หรือ ลดตัวส่วน (ผลลัพธ์ทั้งหมด) วิธีที่ดีที่ส

  12. หาความต่างระหว่างสมาชิกติดกันสูงสุดในอาร์เรย์หลังเรียงลำดับใน C++

    ได้รับอาร์เรย์ที่ไม่ได้เรียงลำดับ งานคือหาความต่างระหว่างสมาชิกติดกัน (adjacent difference) ที่มากที่สุดในรูปแบบที่เรียงลำดับแล้ว ขั้นแรกคือเรียงอาร์เรย์จากน้อยไปมาก (หรือมากไปน้อยก็ได้) จากนั้นวนคำนวณ Arr[i+1] - Arr[i] และหาค่าสูงสุด ตัวอย่าง ตัวอย่างที่ 1 Input: Arr[] = [1, 5, 10, 2, 7] Output:

  13. หาค่าสูงสุดและต่ำสุดใน Linked List ที่หารด้วย K ลงตัวใน C++

    Linked List เป็นโครงสร้างข้อมูลแบบเชิงเส้นที่องค์ประกอบเชื่อมต่อกันผ่านพอยน์เตอร์ แต่ละโหนด (node) มีส่วนข้อมูล (data) และลิงก์/พอยน์เตอร์ไปยังโหนดถัดไป ข้อมูลอาจจัดเก็บในหน่วยความจำที่ไม่ติดกัน ได้รับ singly linked list ที่มีส่วนข้อมูลและลิงก์ไปโหนดถัดไป รวมถึงจำนวน K งานคือหาค่าสูงสุด (Max) และต่

  14. หาพื้นที่สี่เหลี่ยมผืนผ้าสูงสุดจากการเลือก 4 ด้านจากอาร์เรย์ใน C++

    พื้นที่ของสี่เหลี่ยมผืนผ้าคำนวณจากผลคูณของความยาวและความกว้าง สี่เหลี่ยมผืนผ้ามี 4 ด้าน โดยด้านตรงข้ามเท่ากัน ดังนั้นต้องการ 2 คู่ของด้านที่เท่ากันเพื่อสร้างสี่เหลี่ยมผืนผ้า ได้รับอาร์เรย์ที่มีค่าความยาวด้านสี่เหลี่ยมผืนผ้าปนกันไปในลำดับสุ่ม งานคือหา 2 คู่ของด้านที่มีค่ามากที่สุดจากอาร์เรย์ เพื่อให

  15. ฟังก์ชัน sqrt() สำหรับจำนวนเชิงซ้อน (Complex Number) ใน C++

    บทความนี้สาธิตการใช้งานฟังก์ชัน sqrt() สำหรับจำนวนเชิงซ้อนใน C++ ฟังก์ชันนี้อยู่ในเฮดเดอร์ <complex> ใช้คำนวณรากที่สองของจำนวนเชิงซ้อน ไวยากรณ์ (Syntax) template<class T> complex<T> sqrt(const complex<T>& x); พารามิเตอร์ x – จำนวนเชิงซ้อนที่ต้องการหารากที่สอง ค่าที่ส่ง

  16. การแยกประโยคเป็นคำ (Split String into Words) ใน C++

    บทความนี้สาธิตวิธีการแยกประโยค (string) ออกเป็นคำ (words) แยกต่างหากใน C++ ตัวอย่าง Input/Output Input: I am a good boy Output: I am a good boy แต่ละคำจะแสดงในบรรทัดแยกกัน วิธีการทำงาน (Algorithm) รับ string เข้ามา วนลูปอ่านทีละตัวอักขระ สร้างตัวแปร string สำหรับเก็บคำปัจจุบัน เมื่อเจอช่องว่าง (s

  17. ฟังก์ชัน iswprint() ใน C++

    บทความนี้สาธิตการทำงานของฟังก์ชัน iswprint() ใน C++ STL ฟังก์ชันนี้ใช้ตรวจสอบว่าตัวอักขระกว้าง (wide character) สามารถพิมพ์/แสดงผลได้หรือไม่ ฟังก์ชันอยู่ในเฮดเดอร์ <cwctype> ตัวอักขระกว้าง (Wide character) เป็นชนิดข้อมูลตัวอักขระที่มีขนาดใหญ่กว่าตัวอักขระ 8-bit แบบดั้งเดิม (เช่น wchar_t มักเป

  18. ออพเรเตอร์ map::operator[] ใน C++ STL

    บทความนี้อธิบายการทำงาน ไวยากรณ์ และตัวอย่างของออพเรเตอร์ map::operator[] ใน C++ STL Map ใน C++ STL คืออะไร? Map เป็นคอนเทนเนอร์แบบ associative ที่จัดเก็บข้อมูลเป็นคู่คีย์-ค่า (key-value pairs) โดยจัดเรียงอัตโนมัติตามคีย์ คีย์แต่ละตัวเป็นเอกลักษณ์ map::operator[] คืออะไร? map::operator[] เป็นออพเร

  19. ฟังก์ชัน map::max_size() ใน C++ STL

    บทความนี้อธิบายการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน map::max_size() ใน C++ STL Map ใน C++ STL คืออะไร? Map เป็นคอนเทนเนอร์แบบ associative ที่จัดเก็บข้อมูลเป็นคู่คีย์-ค่า (key-value pairs) โดยข้อมูลจะถูกจัดเรียงอัตโนมัติตามคีย์ คีย์แต่ละตัวเป็นเอกลักษณ์และใช้เข้าถึงค่าที่เกี่ยวข้อง map::max_siz

  20. ฟังก์ชัน sinh() สำหรับจำนวนเชิงซ้อน (Complex Number) ใน C++

    บทความนี้สาธิตการใช้งานฟังก์ชัน sinh() (ไฮเปอร์บอลิกไซน์) สำหรับจำนวนเชิงซ้อนใน C++ ฟังก์ชันนี้อยู่ในเฮดเดอร์ <complex> ใช้คำนวณค่า hyperbolic sine ของจำนวนเชิงซ้อน ไวยากรณ์ (Syntax) template<class T> complex<T> sinh(const complex<T>& x); พารามิเตอร์ x – จำนวนเชิงซ้อนที

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:207/301  20-คอมพิวเตอร์/Page Goto:1 201 202 203 204 205 206 207 208 209 210 211 212 213