Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. ตรวจสอบว่า Number เป็น Jumbled หรือไม่ใน C++

    ในบทความนี้เราจะมาดูโจทย์น่าสนใจ: ตรวจสอบว่า Number เป็น Jumbled หรือไม่ Number ถือว่า Jumbled ถ้าทุก Digit ต่างจาก Digit ข้างเคียงสูงสุด 1 ตัวอย่าง 1223 เป็น Jumbled แต่ 1256 ไม่ใช่ วิธีแก้: ตรวจสอบว่ามี Digit ไหนที่ต่างจาก Neighbor มากกว่า 1 หรือไม่ ถ้ามี คืนค่า false มิฉะนั้น true ตัวอย่างโค้ด C+

  2. ตรวจสอบ Number หาร 5 ลงตัวโดยไม่ใช้ / และ % ใน C++

    ในบทความนี้เราจะมาดูวิธีตรวจสอบว่า Number หาร 5 ลงตัวหรือไม่ วิธีง่ายคือถ้า number mod 5 = 0 แสดงว่าหารลงตัว แต่ที่นี่เราจะไม่ใช้ / หรือ % Operator วิธีคือดูหลักสุดท้าย ถ้าเป็น 0 หรือ 5 แสดงว่าหาร 5 ลงตัว สามารถใช้กับเลขใหญ่ๆ ในรูป String ได้ ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using nam

  3. ตรวจสอบว่า Number เป็น Palindrome หรือไม่ใน C++

    ในบทความนี้เราจะมาดูวิธีตรวจสอบว่า Number เป็น Palindrome หรือไม่ Palindrome Number คือตัวเลขที่อ่านจากซ้ายไปขวาและขวาไปซ้ายได้เหมือนกัน เช่น 12321 เป็น Palindrome แต่ 12345 ไม่ใช่ ตรรกะตรงไปตรงมา: กลับตัวเลข (Reverse) ถ้าตัวเลขที่กลับแล้วเท่ากับตัวเลขเดิม ก็คือ Palindrome อัลกอริทึม isPalindrome(n)

  4. ตรวจสอบ Perfect Square โดยไม่ใช้ Square Root ใน C++

    สมมติมี Number ต้องการตรวจสอบว่าเป็น Perfect Square หรือไม่ โดยไม่ใช้ Square Root Operation ตัวอย่าง 1024 เป็น Perfect Square แต่ 1000 ไม่ใช่ ตรรกะง่ายๆ: ตรวจสอบ i จาก 1 ถึง i² ≤ n ถ้า n หาร i ลงตัว และ n/i = i แสดงว่าเป็น Perfect Square อัลกอริทึม isPerfectSquare(n) Input - Number n Output - true ถ

  5. ตรวจสอบ Number เป็น Positive Negative หรือ Zero ด้วย Bit Operators ใน C++

    ในบทความนี้เราจะตรวจสอบว่า Number เป็น Positive, Negative หรือ Zero โดยใช้ Bit Operators ถ้า Shift เช่น n >> 31 จะแปลง Negative Numbers เป็น -1 และอื่นๆ เป็น 0 ถ้า -n >> 31 สำหรับ Positive จะได้ -1 สำหรับ 0 ทั้ง n >> 31 และ -n >> 31 คืนค่า 0 ใช้สูตร: 1 + (n >> 31) - (-n

  6. ตรวจสอบว่า Number เป็น Power of 8 หรือไม่ใน C++

    ในส่วนนี้เราจะมาดูวิธีตรวจสอบว่า Number เป็น Power of 8 หรือไม่ด้วยวิธีง่ายๆ ถ้า Number เช่น 4096 โปรแกรมจะคืนค่า true เพราะ 4096 = 8^4 ทริกง่ายๆ: คำนวณ log8(num) ถ้าเป็น Integer แสดงว่า n เป็น Power of 8 ใช้ trunc(n) หา Integer ที่ใกล้ที่สุดของค่า Double ตัวอย่างโค้ด C++ #include <iostream> #

  7. ตรวจสอบว่า Number เป็น Power of k ด้วย Base Changing Method ใน C++

    ในบทความนี้เราจะมาดูโปรแกรมตรวจสอบว่า Number ที่กำหนดเป็น Power ของ k หรือไม่ โดยใช้ Base Changing Method ตัวอย่าง Number = 27, k = 3 แปลงฐานเป็น Base-3 จะได้ 10003 หากหลังแปลงฐานมี Digit 1 เพียงตัวเดียว และที่เหลือเป็น 0 แสดงว่าเป็น Power of k ขั้นตอนการแก้: กำหนด flag = false While number > 0

  8. ตรวจสอบจุดอยู่ใน ภายนอก หรือบน Ellipse ใน C++

    สมมติมี Ellipse (จุดศูนย์กลาง (h, k) Semi-major axis a และ Semi-minor axis b) และมีจุดอีกจุดหนึ่ง ต้องการทราบว่าจุดอยู่ใน Ellipse หรือไม่ แก้สมการสำหรับจุด (x, y): $$\frac{(x-h)^2}{a^2}+\frac{(y-k)^2}{b^2}\leq1$$ ถ้าผลลัพธ์ < 1 จุดอยู่ใน Ellipse มิฉะนั้นอยู่นอก ตัวอย่างโค้ด C++ #include <iostr

  9. ตรวจสอบจุดอยู่ใน ภายนอก หรือบน Parabola ใน C++

    สมมติมี Parabola (จุดกूद (h, k) และระยะจาก Focus ถึง Vertex คือ a) และมีจุดอีกจุดหนึ่ง ต้องการทราบว่าจุดอยู่ใน Parabola หรือไม่ แก้สมการต่อไปนี้สำหรับจุด (x, y): (y-k)² = 4a(x-h) ถ้าผลลัพธ์ < 0 จุดอยู่ใน Parabola ถ้า = 0 อยู่บน Parabola ถ้า > 0 อยู่นอก Parabola ตัวอย่างโค้ด C++ #include <io

  10. ลด Cash Flow ระหว่างเพื่อนที่ยืมเงินกันใน C++

    สมมติมีกลุ่มเพื่อนที่ยืมเงินกัน จะมี Cash Flow ในเครือข่าย เราต้องลด Cash Flow ให้น้อยที่สุด ตัวอย่าง 3 คน P1, P2, P3 มี Cash Flow ดังภาพ: Cash Flow นี้ไม่ใช่ค่าต่ำสุด หลังลดแล้วจะเป็นแบบนี้: ใช้ Greedy Approach: ทุกขั้นตอนจัดการยอดของคนหนึ่งแล้ว Recur สำหรับ n-1 คนที่เหลือ เลือกคนแรกอย่างไร? คำนว

  11. หา K Closest Points ไปยัง Origin ใน C++

    สมมติเรามีชุด Points ต้องการหา K Points ที่อยู่ใกล้ Origin มากที่สุด สมมติ Points คือ (3, 3), (5, -1) และ (-2, 4) แล้ว K = 2 จุดที่ใกล้ที่สุดคือ (3, 3) และ (-2, 4) วิธีแก้: เรียง Points ตาม Euclidean Distance จาก Origin แล้วเอา K จุดแรกจากรายการที่เรียงแล้ว ตัวอย่างโค้ด C++ #include <iostream>

  12. หาค่า Min และ Max ใน Singly Circular Linked List ใน C++

    ในบทความนี้เราจะมาดูวิธีการหาค่าต่ำสุดและสูงสุดจาก Singly Circular Linked List แนวคิดพื้นฐานคือ Next ของโหนดสุดท้ายจะชี้ไปที่โหนดแรก โหนดแรกก็ถูกชี้โดย Start Pointer เมื่อ Insert Element ใหม่ Next ของโหนดใหม่จะถูกอัปเดตเป็น Address ของ Start Node เริ่มต้น Min กำหนดเป็น Positive Infinity และ Max เป็น

  13. หา Simple Closed Path สำหรับชุด Points ใน C++

    พิจารณาว่าเรามีชุด Points ต้องการหา Simple Closed Path ที่ครอบคลุมทุก Points สมมติ Points อยู่ดังภาพ และภาพถัดไปคือ Closed Path ที่สร้างขึ้น ขั้นตอนในการหา Path: หาจุด Bottom-Left มากที่สุดเป็นจุด P เรียง Points อีก n-1 จุด ตาม Polar Angle ทวนเข็มนาฬิกา รอบจุด P ถ้า Polar Angle เท่ากัน ให้เรียงตาม

  14. หา Quadrant ของ Coordinate เทียบกับ Circle ใน C++

    เรามี Circle หนึ่งวง (มีจุดศูนย์กลางและรัศมี) ต้องการหา Quadrant ของจุด (x, y) อีกจุดหนึ่ง เทียบกับจุดศูนย์กลางของ Circle หากจุดอยู่ภายใน Circle ให้พิมพ์ Quadrant มิฉะนั้นพิมพ์ Error ว่าจุดอยู่นอก Circle สมมติจุดศูนย์กลาง Circle คือ (h, k) จุดที่ต้องการคือ (x, y) สมการของ Circle คือ: (x-h)² + (y-k)²

  15. ประเภทของ Flip-Flop และการแปลงใน C++

    Flip-Flops เป็น Sequential Digital Circuits มีหลายประเภท ในบทความนี้เราจะมาดูประเภทต่างๆ ของ Flip-Flop และกฎการแปลงจากหนึ่งประเภทไปอีกประเภทหนึ่ง มี Flip-Flop พื้นฐาน 4 ประเภทหลัก: SR Flip-Flop D Flip-Flop JK Flip-Flop T Flip-Flop SR Flip-Flop SR Flip-Flop ทำงานกับ Positive Clock Transitions หรือ

  16. ตรวจสอบว่า Binary Tree เรียงลำดับ Level-wise หรือไม่ใน C++

    ในบทความนี้เราจะมาดูวิธีการตรวจสอบว่า Binary Tree เรียงลำดับ Level-wise หรือไม่ Level-wise Sorted Binary Tree จะมีลักษณะดังนี้: ในแต่ละ Level โหนดจะเรียงจากซ้ายไปขวา และแต่ละชั้นจะมีค่ามากกว่าชั้นก่อนหน้า เราสามารถแก้ปัญหานี้ได้โดยทำ Level Order Traversal และติดตามค่าต่ำสุดและสูงสุดของ Level ปัจจุบ

  17. ตรวจสอบว่า Binary Tree หนึ่งเป็น Subtree ของอีก Binary Tree หนึ่งใน C++

    สมมติเรามี Binary Tree สองต้น เราต้องตรวจสอบว่า Tree ที่เล็กกว่าเป็น Subtree ของ Tree อีกต้นหนึ่งหรือไม่ พิจารณา Tree สองต้นดังภาพ: Tree ที่สองเป็น Subtree ของ Tree แรก ในการตรวจสอบคุณสมบัตินี้ เราจะทำการ Traverse Tree แบบ Post-order แล้วตรวจสอบว่า Subtree ที่ rooted ณ โหนดนั้นเหมือนกับ Tree ที่สอง

  18. ตรวจสอบว่า Doubly Linked List ของ Characters เป็น Palindrome หรือไม่ใน C++

    ในบทความนี้เราจะมาดูวิธีการตรวจสอบว่า String เป็น Palindrome หรือไม่โดยใช้ Doubly Linked List เราจะนำแต่ละ Character ของ String ไปใส่ใน Doubly Linked List จะมี Pointer 2 ตัวคือ Left และ Right เริ่มตรวจสอบจากทั้งสองข้าง หาก Character ด้านซ้ายเท่ากับด้านขวา ให้เลื่อน Left ไป Next Node และ Right ไป Pre

  19. ตรวจสอบว่า Array มี Duplicate Elements อยู่ในระยะ k หรือไม่ใน C++

    ในบทความนี้เราจะมาดูวิธีการตรวจสอบว่า Unsorted Array มี Duplicate Elements ที่อยู่ห่างกันไม่เกิน k หรือไม่ ตัวอย่างเช่น Array {1, 2, 3, 1, 4, 5} ถ้า k = 3 โปรแกรมจะคืนค่า true เพราะระยะห่างระหว่างเลข 1 ทั้งสองตัวคือ 3 เราจะแก้ปัญหานี้โดยใช้ Hash Table ขั้นตอนมีดังนี้: สร้าง Hash Table ว่าง สำหรับแต

  20. ตรวจสอบว่า Binary Tree เป็น SumTree หรือไม่ใน C++

    ในบทความนี้เราจะมาดูวิธีการตรวจสอบว่า Binary Tree ที่กำหนดเป็น SumTree หรือไม่ SumTree คือ Binary Tree ที่โหนดแต่ละตัวมีค่าเท่ากับผลรวมของลูกทั้งสองฝั่ง รากของ Tree จะมีค่าเท่ากับผลรวมของทุกโหนดที่อยู่ด้านล่าง ตัวอย่าง SumTree ดังภาพ: ในการตรวจสอบ เราจะใช้วิธีง่ายๆ คือหาผลรวมของโหนดใน Left Subtree

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:83/301  20-คอมพิวเตอร์/Page Goto:1 77 78 79 80 81 82 83 84 85 86 87 88 89