Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. อสมการของเนสบิต (Nesbitt's Inequality) ใน C++

    โจทย์ อสมการของเนสบิตคือ (a/(b + c)) + (b/(c + a)) + (c/(a + b)) >= 1.5, a > 0, b > 0, c > 0 ได้รับตัวเลขสามตัว เราต้องตรวจสอบว่าตัวเลขสามตัวนี้ทำให้อสมการของเนสบิตเป็นจริงหรือไม่ เราสามารถทดสอบได้ว่าตัวเลขสามตัวทำให้อสมการของเนสบิตเป็นจริงหรือไม่ โปรแกรมนี้ตรงไปตรงมา อัลกอริธึม กำหนดตั

  2. จำนวนเฉพาะนิวแมน-แชงกส์-วิลเลียมส์ (Newman-Shanks-Williams prime) ใน C++

    โจทย์ ลำดับจำนวนเฉพาะนิวแมน-แชงกส์-วิลเลียมส์มีดังนี้ 1, 1, 3, 7, 17, 41... หากเราทำให้ลำดับนี้เป็นทั่วไป เราจะได้ a0=1 a1=1 an=2*a(n-1)+a(n-2) อัลกอริธึม กำหนดตัวเลข n กำหนดตัวเลขแรกของลำดับ 1 และ 1 เขียนลูปที่วนรอบจนถึง n คำนวณตัวเลขถัดไปโดยใช้ตัวเลขก่อนหน้า อัปเดตตัวเลขก่อนหน้าสองตัว คืนค่าตั

  3. องค์ประกอบที่มากกว่าถัดไปในลำดับเดียวกับอินพุตใน C++

    โจทย์ องค์ประกอบที่มากกว่าถัดไปคือองค์ประกอบที่เป็นองค์ประกอบแรกที่มากกว่าหลังจากมัน มาดูตัวอย่างกัน arr = [4, 5, 3, 2, 1] องค์ประกอบที่มากกว่าถัดไปสำหรับ 4 คือ 5 และองค์ประกอบที่มากกว่าถัดไปสำหรับองค์ประกอบ 3, 2, 1 คือ -1 เนื่องจากไม่มีองค์ประกอบที่มากกว่าหลังจากพวกมัน อัลกอริธึม กำหนดอาร์เรย์ด้วย

  4. องค์ประกอบที่มากกว่าถัดไป (Next Greater Element) ใน C++

    โจทย์ องค์ประกอบที่มากกว่าถัดไปคือองค์ประกอบที่เป็นองค์ประกอบแรกที่มากกว่าหลังจากมัน มาดูตัวอย่างกัน arr = [4, 5, 3, 2, 1] องค์ประกอบที่มากกว่าถัดไปสำหรับ 4 คือ 5 และองค์ประกอบที่มากกว่าถัดไปสำหรับองค์ประกอบ 3, 2, 1 คือ -1 เนื่องจากไม่มีองค์ประกอบที่มากกว่าหลังจากพวกมัน อัลกอริธึม กำหนดอาร์เรย์ด้วย

  5. จำนวนเต็มถัดไปที่มากกว่าและมีบิตเซตมากกว่า 1 บิตใน C++

    โจทย์ เราได้รับตัวเลข n เราต้องหาตัวเลขที่มากกว่า n และมีบิตเซต (set bit) มากกว่า n 1 บิตในการแทนค่าทศนิยมสอง หลัก 1 ในการแทนค่าทศนิยมสองเรียกว่า set bit มาดูตัวอย่างกัน อินพุต 124 เอาต์พุต 125 อัลกอริธึม กำหนดตัวเลข n เขียนฟังก์ชันหาจำนวนบิตเซต กำหนดตัวแปรวนรอบด้วย n + 1 เขียนลูปไม่รู้จบ ตรวจสอบจ

  6. ตัวเลขถัดไปที่มากกว่า N และมีจำนวนหลัก A และ B เท่ากันใน C++

    โจทย์ กำหนด N, A, และ B หาตัวเลขที่มากกว่า N และมีจำนวนหลัก A และ B เท่ากัน มาดูตัวอย่างกัน N = 1234 A = 2 B = 3 เราต้องตรวจสอบทุกความเป็นไปได้ของจำนวนหลักที่กำหนด มีสองหลักสำหรับสร้างตัวเลข และแต่ละหลักในตัวเลขควรมีจำนวนเท่ากัน อัลกอริธึม กำหนด A, B, และ N เขียนฟังก์ชันเวียนเกิด ตรวจสอบว่าตัวเลขป

  7. ตัวเลขถัดไปที่มากกว่าโดยใช้การสลับได้สูงสุด 1 ครั้งใน C++

    โจทย์ ได้รับตัวเลข n สลับสองหลักใดๆ ของตัวเลขเพื่อให้ตัวเลขที่ได้มากกว่า n หากไม่เป็นไปได้ให้พิมพ์ -1 มาดูตัวอย่างกัน อินพุต 12345 เอาต์พุต 12354 เราสลับหลัก 4 และ 5 และได้ตัวเลขที่มากกว่าด้วยการสลับครั้งเดียว อัลกอริธึม ไม่สามารถสร้างตัวเลขได้ถ้าหลักของตัวเลขเรียงลำดับลดลง หาดัชนีของหลักจากขวาของต

  8. ตัวเลขถัดไปที่มากกว่าและมีจำนวนบิตเซตเท่ากันใน C++

    โจทย์ เราได้รับตัวเลข n เราต้องหาตัวเลขที่มากกว่า n และมีจำนวนบิตเซต (set bits) เท่ากับ n ในการแทนค่าทศนิยมสอง หลัก 1 ในการแทนค่าทศนิยมสองเรียกว่า set bit มาดูตัวอย่างกัน อินพุต 124 เอาต์พุต 143 อัลกอริธึม กำหนดตัวเลข n เขียนฟังก์ชันหาจำนวนบิตเซต กำหนดตัวแปรวนรอบด้วย n + 1 เขียนลูปไม่รู้จบ ตรวจสอบ

  9. องค์ประกอบที่มากกว่าถัดไปใน n-ary tree ใน C++

    โจทย์ n-ary tree คือต้นไม้ที่มีลูก n ตัวสำหรับแต่ละโหนด เราได้รับตัวเลข n และเราต้องหาองค์ประกอบที่มากกว่าถัดไปจาก n-ary tree เราสามารถหาคำตอบได้โดยการท่องผ่าน n-ary tree และรักษาผลลัพธ์ อัลกอริธึม สร้าง n-ary tree กำหนดผลลัพธ์ เขียนฟังก์ชันหาองค์ประกอบที่มากกว่าถัดไป คืนค่าถ้าโหนดปัจจุบันเป็น nul

  10. องค์ประกอบที่น้อยกว่าถัดไป (Next Smaller Element) ใน C++

    โจทย์ องค์ประกอบที่น้อยกว่าถัดไปคือองค์ประกอบที่เป็นองค์ประกอบแรกที่น้อยกว่าหลังจากมัน มาดูตัวอย่างกัน arr = [1, 2, 3, 5, 4] องค์ประกอบที่น้อยกว่าถัดไปสำหรับ 5 คือ 4 และองค์ประกอบที่น้อยกว่าถัดไปสำหรับองค์ประกอบ 1, 2, 3 คือ -1 เนื่องจากไม่มีองค์ประกอบที่น้อยกว่าหลังจากพวกมัน อัลกอริธึม กำหนดอาร์เรย

  11. เลขเฉพาะพาลินโดรมที่น้อยที่สุดถัดไปใน C++

    โจทย์ เราได้รับตัวเลข N เราต้องหาเลขเฉพาะพาลินโดรมที่มากกว่า N มาดูตัวอย่างกัน อินพุต N = 10 เอาต์พุต 11 อัลกอริธึม กำหนดตัวเลข N เขียนฟังก์ชันตรวจสอบว่าตัวเลขที่กำหนดเป็นเลขเฉพาะหรือไม่ เขียนฟังก์ชันตรวจสอบว่าตัวเลขที่กำหนดเป็นพาลินโดรมหรือไม่ เขียนลูปที่วนรอบจาก N + 1 จนกว่าจะเจอเลขเฉพาะพาลินโดรม

  12. องค์ประกอบที่พบบ่อยที่สุดในอาร์เรย์ใน C++

    โจทย์ เราได้รับอาร์เรย์และต้องหาองค์ประกอบที่พบบ่อยที่สุดจากมัน มาดูตัวอย่างกัน อินพุต arr = [1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 4] เอาต์พุต 2 ในอาร์เรย์ข้างต้น 2 ปรากฏ 4 ครั้ง ซึ่งมากที่สุดในอาร์เรย์ อัลกอริธึม - 1 กำหนดอาร์เรย์ กำหนดแมป (map) เพื่อเก็บความถี่ของแต่ละองค์ประกอบ นับความถี่ของแต่ละองค์ปร

  13. จำนวนมอทซ์คิน (Motzkin number) ใน C++

    โจทย์ ลำดับจำนวนมอทซ์คินเริ่มต้นด้วย 1, 1, 4, 9 เป็นต้น เราสามารถหาพจน์ทั่วไปลำดับที่ n ได้จากลำดับนี้ ลำดับจำนวนมอทซ์คินมีดังนี้ a0 = 1 a1 = 1 a2 = 4 a3 = 9 an = ((2 * n + 1)/ n + 2) * M(n-1) +((3 * n - 3)/ n + 2) * M(n - 2) อัลกอริธึม กำหนดตัวเลข n วนลูปจนถึง n อัปเดตตัวเลขก่อนหน้าสองตัว คืนค่

  14. ย้ายศูนย์ทั้งหมดไปท้ายอาร์เรย์ใน C++

    โจทย์ ได้รับอาร์เรย์ที่มีหลายศูนย์ เราต้องย้ายศูนย์ทั้งหมดในอาร์เรย์ไปท้ายสุด มาดูตัวอย่างกัน อินพุต arr = [4, 5, 0, 3, 2, 0, 0, 0, 5, 0, 1] เอาต์พุต 4 5 3 2 5 1 0 0 0 0 0 อัลกอริธึม กำหนดอาร์เรย์ กำหนดดัชนีเป็น 0 วนลูปผ่านอาร์เรย์ที่กำหนด ถ้าองค์ประกอบปัจจุบันไม่ใช่ศูนย์ ให้อัปเดตค่าที่ดัชนีด้วยอ

  15. ย้ายศูนย์ทั้งหมดไปหน้าและ 1 ไปท้ายในอาร์เรย์จำนวนเต็มสุ่มใน C++

    โจทย์ ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ย้ายศูนย์ทั้งหมดไปหน้าและ 1 ทั้งหมดไปท้ายของอาร์เรย์ ได้รับอาร์เรย์ที่มีศูนย์และ 1 รวมกับจำนวนเต็มสุ่ม เราต้องย้ายศูนย์ทั้งหมดไปเริ่มต้นและ 1 ทั้งหมดไปท้ายสุดของอาร์เรย์ มาดูตัวอย่างกัน อินพุต arr = [4, 5, 1, 1, 0, 0, 2, 0, 3, 1, 0, 1] เอาต์พุต 0 0 0 0 4 5 2

  16. ย้ายศูนย์ทั้งหมดไปหน้าสุดของลิงก์ลิสต์ใน C++

    โจทย์ ได้รับลิงก์ลิสต์ที่มีจำนวนเต็มสุ่มและศูนย์ เราต้องย้ายศูนย์ทั้งหมดไปหน้าสุดของลิงก์ลิสต์ มาดูตัวอย่างกัน อินพุต NULL เอาต์พุต NULL อัลกอริธึม กำหนดลิงก์ลิสต์ คืนค่าถ้าลิงก์ลิสต์ว่างหรือมีโหนดเดียว กำหนดโหนดสองตัวด้วยโหนดที่สองและโหนดแรกตามลำดับเพื่อติดตามโหนดปัจจุบันและก่อนหน้า วนลูปผ่านลิงก

  17. ย้ายองค์ประกอบแรกไปท้ายสุดของลิงก์ลิสต์ที่กำหนดใน C++

    โจทย์ ได้รับลิงก์ลิสต์ เราต้องย้ายองค์ประกอบแรกไปท้ายสุด มาดูตัวอย่างกัน อินพุต NULL เอาต์พุต NULL อัลกอริธึม กำหนดลิงก์ลิสต์ คืนค่าถ้าลิงก์ลิสต์ว่างหรือมีโหนดเดียว หาโหนดสุดท้ายของลิงก์ลิสต์ ทำให้โหนดที่สองเป็นหัวใหม่ อัปเดตลิงก์ของโหนดแรกและโหนดสุดท้าย การนำไปใช้งาน ต่อไปนี้เป็นการนำไปใช้งานขอ

  18. ย้ายองค์ประกอบสุดท้ายไปหน้าสุดของลิงก์ลิสต์ที่กำหนดใน C++

    โจทย์ ได้รับลิงก์ลิสต์ เราต้องย้ายองค์ประกอบสุดท้ายไปหน้าสุด มาดูตัวอย่างกัน อินพุต NULL เอาต์พุต NULL อัลกอริธึม กำหนดลิงก์ลิสต์ คืนค่าถ้าลิงก์ลิสต์ว่างหรือมีโหนดเดียว หาโหนดสุดท้ายและโหนดรองสุดท้ายของลิงก์ลิสต์ ทำให้โหนดสุดท้ายเป็นหัวใหม่ อัปเดตลิงก์ของโหนดรองสุดท้าย การนำไปใช้งาน ต่อไปนี้เป็น

  19. หาตัวคูณของ 3 และ 5 โดยไม่ใช้ตัวดำเนินการ % ใน C++

    โจทย์ เราสามารถหาตัวคูณโดยใช้ตัวดำเนินการ % ได้โดยไม่มีอุปสรรค แต่โจทย์ระบุว่าเราไม่สามารถใช้ % ได้ ที่นี่เราใช้ตัวดำเนินการ + แทน เราสามารถหาตัวคูณได้โดยการบวก 3 หรือ 5 เข้ากับตัวคูณก่อนหน้า มาดูตัวอย่างกัน อินพุต 15 เอาต์พุต 1 2 3 - Multiple of 3 4 5 - Multiple of 5 6 - Multiple of 3 7 8 9 - Multi

  20. หาตัวคูณของ 3 หรือ 7 ใน C++

    โจทย์ ได้รับตัวเลข n เราต้องหาจำนวนตัวคูณของ 3 หรือ 7 จนถึง n มาดูตัวอย่างกัน อินพุต 100 เอาต์พุต 43 มีตัวคูณของ 3 หรือ 7 ทั้งหมด 43 ตัวจนถึง 100 อัลกอริธึม กำหนดตัวเลข n กำหนดตัวนับเป็น 0 เขียนลูปที่วนรอบจาก 3 ถึง n เพิ่มตัวนับถ้าตัวเลขปัจจุบันหาร 3 หรือ 7 ลงตัว การนำไปใช้งาน ต่อไปนี้เป็นการนำ

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:268/301  20-คอมพิวเตอร์/Page Goto:1 262 263 264 265 266 267 268 269 270 271 272 273 274