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

    ภาพรวมปัญหา ได้รับสมการเชิงเส้น n ตัวแปร: coeff1·x1 + coeff2·x2 + ... + coeffn·xn = value หาจำนวนคำตอบที่เป็นจำนวนเต็มบวกหรือศูนย์ (non-negative integer solutions) ตัวอย่าง อินพุต coeff[] = {3, 1}, value = 4 เอาต์พุต 1 คำอธิบาย สมการ: 3x + y = 4 คำตอบ: x = 0, y = 4 วิธีแก้ปัญหา ใช้ Recursion (Bac

  2. หาจำนวนซับอาร์เรย์ที่มีผลรวมเป็นเลขคู่ด้วย C++

    ภาพรวมปัญหา ได้รับอาร์เรย์ arr[] ขนาด N ต้องหาจำนวนซับอาร์เรย์ (subarray) ที่มีผลรวมเป็นเลขคู่ ตัวอย่าง อินพุต arr[] = {2, 1, 3, 4, 2, 5} เอาต์พุต 28 วิธีแก้ปัญหา วิธีที่ 1: Brute Force - O(n²) คำนวณผลรวมของทุกซับอาร์เรย์ แล้วนับที่เป็นเลขคู่ โค้ดตัวอย่าง #include <iostream> using namespa

  3. หาจำนวนการแปลงเพื่อทำให้สองเมทริกซ์เท่ากันด้วย C++

    ภาพรวมปัญหา ได้รับเมทริกซ์สองเมทริกซ์ mat1 และ mat2 ขนาดเท่ากัน การแปลง (Transformation) ที่อนุญาต: เลือกเมทริกซ์ใดเมทริกซ์หนึ่ง เลือกแถวหรือคอลัมน์ บวก 1 ให้ทุกองค์ประกอบในแถว/คอลัมน์นั้น หาจำนวนการแปลงน้อยที่สุดเพื่อทำให้ทั้งสองเมทริกซ์เท่ากัน ตัวอย่าง อินพุต mat1 = {{1, 2}, {2, 1}} mat2 = {{2

  4. หาจำนวนสามเหลี่ยมที่ไม่ซ้ำกันจาก N สามเหลี่ยมด้วย C++

    ภาพรวมปัญหา ได้รับอาร์เรย์ 3 อาร์เรย์ s1[], s2[], s3[] ขนาด N แทนด้านของ N สามเหลี่ยม ต้องหาจำนวนสามเหลี่ยมที่ ไม่ซ้ำกัน (unique) หมายถึงไม่มีสามเหลี่ยมอื่นที่มีชุดด้านเหมือนกัน ตัวอย่าง อินพุต s1[] = {1, 5, 3} s2[] = {2, 3, 2} s3[] = {4, 2, 5} เอาต์พุต 1 คำอธิบาย สามเหลี่ยมที่ 1: 1, 2, 4 (unique)

  5. หาจำนวนที่มีตัวหารคี่ K ตัวในช่วงที่กำหนดด้วย C++

    ภาพรวมปัญหา ได้รับค่า L, R, และ k ต้องหาจำนวนในช่วง [L, R] ที่มีตัวหารคี่ k ตัว ข้อสังเกตสำคัญ ตัวเลขที่มีจำนวนตัวหารเป็นเลขคี่ ต้องเป็น จำนวนกำลังสองสมบูรณ์ (Perfect Square) เท่านั้น เพราะตัวหารมักมาคู่กัน (i และ n/i) ยกเว้นเมื่อ i = √n ตัวอย่าง อินพุต a = 3, b = 10, k = 3 เอาต์พุต 2 คำอธิบาย 4

  6. หาจำนวนที่มีตัวหาร K ตัวในช่วงที่กำหนดด้วย C++

    ภาพรวมปัญหา ได้รับค่า L, R, และ k ต้องหาจำนวนของตัวเลขในช่วง [L, R] ที่มีตัวหารทั้งหมด k ตัว (นับ 1 และตัวมันเองด้วย) ตัวอย่าง อินพุต a = 3, b = 10, k = 4 เอาต์พุต 2 คำอธิบาย ตัวเลขที่มีตัวหาร 4 ตัวในช่วง 3-10: 6 : ตัวหาร = 1, 2, 3, 6 8 : ตัวหาร = 1, 2, 4, 8 วิธีแก้ปัญหา นับตัวหารของแต่ละตัวเลขใน

  7. หาทิศทางของรูปแบบในเมทริกซ์ด้วย C++

    ภาพรวมปัญหา ได้รับเมทริกซ์ตัวอักษรและรูปแบบ (pattern) ที่ต้องการค้นหา งานคือหาว่ารูปแบบปรากฏในแนว แนวนอน (horizontal) หรือ แนวตั้ง (vertical) ตัวอย่าง อินพุต mat[][] = { { r, a, m }, { a, m, c }, { w, f, t } } Pattern : raw เอาต์พุต vertical วิธีแก้ปัญหา ใช้ KMP Algorithm

  8. หาด้านและมุมของสามเหลี่ยมมุมฉากด้วย C++

    ภาพรวมปัญหา ได้รับจำนวนเต็ม a แทนด้านหนึ่งของสามเหลี่ยมมุมฉาก ต้องหาด้านอีกสองด้านและมุมทั้งสามมุม ตัวอย่าง อินพุต a = 5 เอาต์พุต Sides : 5, 12, 13 Angles : 67.38, 22.62, 90 คำอธิบาย ด้าน: 5² + 12² = 13² มุม: sin⁻¹(5/13) ≈ 22.62° และ 90° - 22.62° = 67.38° วิธีแก้ปัญหา 1. หาด้าน b, c ด้วยสูตรเดียว

  9. หาด้านที่เหลือของสามเหลี่ยมมุมฉากด้วย C++

    ภาพรวมปัญหา ได้รับจำนวนเต็ม a แทนด้านหนึ่งของสามเหลี่ยมมุมฉาก ต้องตรวจสอบว่าสามารถสร้างสามเหลี่ยมมุมฉากได้หรือไม่ และหาด้านอีกสองด้าน ตัวอย่าง อินพุต a = 5 เอาต์พุต Sides : 5, 12, 13 คำอธิบาย 5² + 12² = 13² (25 + 144 = 169) วิธีแก้ปัญหา ใช้ทฤษฎีบทพีทาโกรัส: a² + b² = c² โดยที่ a, b คือด้านประกอบ

  10. หาคู่ในอาร์เรย์ที่ผลรวมมีอยู่ในอาร์เรย์ด้วย C++

    ภาพรวมปัญหา ได้รับอาร์เรย์ arr[] ขนาด N จำนวนเต็ม งานคือหาคู่ขององค์ประกอบที่ผลรวมของคู่นั้นมีอยู่ในอาร์เรย์ด้วย ตัวอย่าง อินพุต arr[] = {1, 2, 4, 6, 7} เอาต์พุต (1, 6), (2, 4) คำอธิบาย คู่ (1, 6) ผลรวม = 7 (มีในอาร์เรย์) คู่ (2, 4) ผลรวม = 6 (มีในอาร์เรย์) วิธีแก้ปัญหา วิธีที่ 1: Triple Nested

  11. หาคู่ที่มีผลรวมกำหนดใน Doubly Linked List ด้วย C++

    ภาพรวมปัญหา ในปัญหานี้ เราจะได้รับ Doubly Linked List และค่าผลรวม (sum) งานของเราคือการหาคู่ของโหนดที่มีผลรวมของข้อมูลเท่ากับค่าที่กำหนด ตัวอย่าง อินพุต head – 2 <-> 5 <-> 6 <-> 9 <-> 12 x = 11 เอาต์พุต (2, 9), (5, 6) คำอธิบาย คู่ (2, 9) ผลรวม = 11 คู่ (5, 6) ผลรวม = 11 ว

  12. หาเส้นรอบรูปของสามเหลี่ยมใน C++

    ในปัญหานี้ เราจะดูเส้นรอบรูปของสามเหลี่ยม สูตรสำหรับเส้นรอบรูปของสามเหลี่ยมประเภทต่างๆ และโปรแกรมเพื่อหาค่าเหล่านั้น เส้นรอบรูป (Perimeter) ถูกนิยามว่าเป็นระยะทางรอบรูปทรง พื้นฐานแล้วคือผลรวมของด้านทั้งหมดของรูปทรงที่กำหนด เส้นรอบรูปของสามเหลี่ยม เส้นรอบรูปของสามเหลี่ยมคือผลรวมของด้านทั้งสาม (สามเ

  13. หาเส้นรอบรูปของรูปทรงที่ประกอบด้วย 1 ในเมทริกซ์ไบนารีใน C++

    ในปัญหานี้ เราได้รับเมทริกซ์ไบนารี bin[][] ขนาด nXm ที่ประกอบด้วย 0 และ 1 เท่านั้น งานของเราคือ หาเส้นรอบรูปของรูปทรงที่ประกอบด้วย 1 ในเมทริกซ์ไบนารี เส้นรอบรูปจะครอบคลุมรูปทรงจากทุกด้าน คือ สำหรับค่า 1 เดียว เส้นรอบรูปคือ 4 มาดูตัวอย่างเพื่อเข้าใจปัญหา Input bin[][] = [1, 0] [1, 0] Output 6 อ

  14. หาความสุภาพของตัวเลข (Politeness of a Number) ใน C++

    ในปัญหานี้ เราได้รับจำนวนเต็มบวก N งานของเราคือหาความสุภาพของตัวเลข Polite Number คือตัวเลขที่สามารถแสดงเป็นผลรวมของตัวเลขต่อเนื่องสองตัวขึ้นไปได้ Politeness of a number ถูกนิยามว่าเป็นจำนวนวิธีที่ตัวเลขสามารถแสดงเป็นผลรวมของจำนวนเต็มต่อเนื่องได้ มาดูตัวอย่างเพื่อเข้าใจปัญหา Input n = 5 Output 1

  15. หาตำแหน่งขององค์ประกอบในอาร์เรย์เรียงลำดับขนาดอนันต์ใน C++

    ในปัญหานี้ เราได้รับอาร์เรย์ที่ประกอบด้วยตัวเลขที่เรียงลำดับและมีขนาดอนันต์ งานของเราคือ หาตำแหน่งขององค์ประกอบในอาร์เรย์เรียงลำดับขนาดอนันต์ มาดูตัวอย่างเพื่อเข้าใจปัญหา Input arr[] = {2, 4, 6, 8, 9, 12, 14, 17, ...}, ele = 9 Output 4 อธิบาย วิธีแก้ปัญหา สำหรับการค้นหาองค์ประกอบจากอาร์เรย์เรียงล

  16. หาตำแหน่งบิตที่ต่างกันซ้ายสุดของสองตัวเลขใน C++

    ในปัญหานี้ เราได้รับตัวเลขสองตัว num1 และ num2 งานของเราคือหาตำแหน่งของบิตที่ต่างกันซ้ายสุดของสองตัวเลข เราต้องพิมพ์บิตแรกที่ไม่เหมือนกันสำหรับทั้งสองตัวเลขในการแทนค่าไบนารีของแต่ละตัว ความยาวของทั้งสองต้องเท่ากันเพื่อหาบิต ทำได้โดยการเติม 0 ไปด้านหน้าของตัวเลขที่มีบิตน้อยกว่า มาดูตัวอย่างเพื่อเข้า

  17. หาตำแหน่งของตัวเลขที่กำหนดในลำดับตัวเลขที่ประกอบด้วย 4 และ 7 ใน C++

    ในปัญหานี้ เราได้รับตัวเลข N งานของเราคือ หาตำแหน่งของตัวเลขที่กำหนดในลำดับตัวเลขที่ประกอบด้วย 4 และ 7 ลำดับที่ประกอบด้วย 4 และ 7 เท่านั้นคือ 4, 7, 44, 47, 74, 77, 444... มาดูตัวอย่างเพื่อเข้าใจปัญหา Input N = 5 Output 74 อธิบาย ลำดับถึง 5 ตัวคือ 4, 7, 44, 47, 74... วิธีแก้ปัญหา วิธีแก้ที่ง่ายคื

  18. หาตำแหน่งของบิตเซตเพียงตัวเดียวใน C++

    ในปัญหานี้ เราได้รับตัวเลข N ซึ่งมีบิตเซต (set bit) เพียงตัวเดียวในการแทนค่าไบนารี งานของเราคือหาตำแหน่งของบิตเซตเพียงตัวเดียว ถ้าตัวเลขมีบิตเซตเพียงตัวเดียว ให้คืนค่าตำแหน่ง มิฉะนั้นพิมพ์ว่า invalid number มาดูตัวอย่างเพื่อเข้าใจปัญหา Input N = 32 Output 6 อธิบาย การแทนค่าไบนารีของตัวเลขคือ 1000

  19. หาการทะลุ Postorder ของ BST จาก Preorder traversal ใน C++

    ในปัญหานี้ เราได้รับอาร์เรย์ preOrder[] ที่แทนการทะลุ preorder ของ binary search tree งานของเราคือ หาการทะลุ postorder ของ BST จาก preorder traversal มาดูตัวอย่างเพื่อเข้าใจปัญหา Input preOrder[] = {5, 2, 4, 7, 12} Output {4, 2, 12, 7, 5} วิธีแก้ปัญหา วิธีแก้ที่ง่ายคือสร้าง BST จาก preorder trave

  20. หาค่ายกกำลังซ้อนภายใต้ modulo ของจำนวนเฉพาะใน C++

    ในปัญหานี้ เราได้รับค่าสี่ค่า A, B, C, M (จำนวนเฉพาะ) งานของเราคือ หาค่ายกกำลังซ้อนภายใต้ modulo ของจำนวนเฉพาะ เราต้องการหาค่าของ (A ^ (B ^ C)) (mod M) มาดูตัวอย่างเพื่อเข้าใจปัญหา Input A = 3, B = 6, C = 2, M = 11 Output 3 อธิบาย (A ^ (B ^ C)) = (3 ^ (6 ^ 2)) = (3 ^ (36)) (mod 11) = 3 วิธีแก้ป

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:263/301  20-คอมพิวเตอร์/Page Goto:1 257 258 259 260 261 262 263 264 265 266 267 268 269