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

    เราได้รับช่วงจำนวนเต็ม ตัวแปร m ใช้เป็นตัวหาร และตัวแปร d ใช้ตรวจสอบว่าเลข d อยู่ที่ตำแหน่งคู่หรือไม่ และภารกิจคือคำนวณจำนวนตัวเลขในช่วงที่หารด้วย m ลงตัวและมีเลข d อยู่ตำแหน่งคู่ ตัวอย่าง Input - int start = 20, end = 50, d = 8 และ m = 4 Output - จำนวนตัวเลขในช่วงที่หารด้วย m ลงตัวและมีเลข d อยู่ตำ

  2. นับจำนวนตัวเลขในช่วงที่เลข d ปรากฏทุก K ครั้งใน C++

    เราได้รับช่วงจำนวนเต็มเริ่มจากตัวแปร start ถึงตัวแปร end และตัวแปร k และ d ภารกิจคือคำนวณจำนวนหลัก d ในช่วงที่ d ปรากฏทุก k ครั้ง ตัวอย่าง Input - int start = 10, int end = 100, d = 4 และ K = 2 Output - จำนวนตัวเลขในช่วงที่เลข d ปรากฏทุก K ครั้งคือ: 1 คำอธิบาย - ช่วงคือ 10 ถึง 100 ดังนั้น ตัวเลขที่เ

  3. นับจำนวนการจัดเรียงวนรอบที่ XOR กับสตริงไบนารีอีกอันได้ 0 ใน C++

    เราได้รับสตริงไบนารีสองสตริงคือ str_1 และ str_2 ที่ประกอบด้วย 1 และ 0 และภารกิจคือสร้างเซต SET ของการจัดเรียงที่แตกต่างกันที่เป็นไปได้จาก str_1 จากนั้นเราจะดำเนินการ XOR ของสมาชิกในเซตกับสตริงไบนารี str_2 และตรวจสอบว่า XOR คืนค่า 0 หรือไม่ ถ้าใช่ ให้นับกรณีนั้น มิฉะนั้นข้ามไป ทำความเข้าใจด้วยตัวอย่า

  4. นับจำนวนตัวหารที่มีบิตเซตมากกว่าผลหารเมื่อหาร N ใน C++

    เราได้รับจำนวนเต็ม N ซึ่งถูกพิจารณาว่าเป็นตัวหาร และจะถูกหารด้วยตัวเลขตั้งแต่ 1 ถึง N และภารกิจคือการคำนวณจำนวนตัวหารที่มีจำนวนบิตเซต (set bits) มากกว่าผลหารเมื่อหารด้วย N ที่กำหนด ตัวอย่าง Input - int N = 6 Output - จำนวนตัวหารที่มีบิตเซตมากกว่าผลหารเมื่อหาร N คือ: 5 คำอธิบาย - ก่อนอื่น เราจะหาร N

  5. นับจำนวนอาร์เรย์ที่มีสมาชิกติดกันต่างกันใน C++

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

  6. นับจำนวนเส้นทางที่น้ำหนักเท่ากับ X และมีขอบน้ำหนัก M อย่างน้อยหนึ่งขอบใน C++

    เราได้รับต้นไม้ที่สามารถมีระดับไม่จำกัด ตัวแปร child จะเก็บจำนวนลูกที่โหนดสามารถมีได้ ตัวแปร weight จะเก็บน้ำหนักที่เกี่ยวข้องกับเส้นทาง และตัวแปร path จะเก็บเส้นทาง และภารกิจคือการคำนวณจำนวนเส้นทางที่มีน้ำหนักเท่ากับ X และต้องมีขอบอย่างน้อยหนึ่งขอบที่มีน้ำหนักตามที่กำหนด ตัวอย่าง Input - int child

  7. นับจำนวนสตริงที่กำหนดในอาร์เรย์ตัวอักษร 2D ด้วย C++

    ปัญหานี้เป็นตัวอย่างของปริศนาคำไขว้ในหนังสือพิมพ์รายวัน เราได้รับอาร์เรย์ตัวอักษร 2 มิติ และโจทย์คือการหาคำที่กำหนดจากอาร์เรย์ตัวอักษร 2 มิติ อัลกอริธึมการค้นหารวมถึงการหาตัวอักษรแต่ละตัวจาก บนลงล่าง, ขวาไปซ้าย และในทางกลับกัน แต่ไม่ได้ค้นหาแบบเฉียง ทำความเข้าใจด้วยตัวอย่าง Input- String word = LAYS

  8. การนับ subsequence แบบคณิตศาสตร์ (AP) ในอาร์เรย์ด้วย C++

    กำหนดอาร์เรย์ arr[] ที่มีสมาชิกเป็นจำนวนเต็ม เป้าหมายคือนับจำนวน subsequence แบบคณิตศาสตร์ (Arithmetic Progression - AP) ภายใน arr[] ช่วงของสมาชิกใน arr[] อยู่ระหว่าง [1, 1000000] ลำดับว่างเปล่าหรือลำดับที่มีสมาชิกเพียงตัวเดียวก็จะถูกนับด้วย ทำความเข้าใจด้วยตัวอย่าง ตัวอย่าง Input - arr[] = {1, 2, 3

  9. สตริงสุดท้ายหลังจากดำเนินการที่กำหนดใน C++

    ในบทช่วยสอนนี้ เราจะแก้ปัญหาดังต่อไปนี้ กำหนดสตริงที่ประกอบด้วยตัวอักษร a และ b เท่านั้น ภารกิจของเราคือลบสตริงย่อย ab ออกจากสตริง และพิมพ์สตริงที่เหลืออยู่ แนวคิดในการแก้ปัญหานี้มีความเรียบง่ายมาก ทุกสตริงที่ประกอบด้วย a และ b เท่านั้นจะหดตัวเหลือเพียง a หรือ b เท่านั้นในที่สุด ลองดูขั้นตอนในการแก้

  10. หา (a^b)%m โดยที่ 'a' เป็นตัวเลขใหญ่มากใน C++

    ในบทช่วยสอนนี้ เราจะแก้สมการ (ab)%m ที่ a เป็นตัวเลขใหญ่มาก สมการ (ab)%m = (a%m) * (a%m) ... b ครั้ง เราสามารถแก้ปัญหาได้โดยการหาค่า a%m แล้วคูณมัน b ครั้ง มาดูขั้นตอนในการแก้ปัญหา เริ่มต้นตัวเลข a, b, และ m เขียนฟังก์ชันเพื่อหา a%m เริ่มต้นตัวเลขด้วย 0 วนลูปผ่านตัวเลขในรูปแบบสตริง

  11. หา A และ B จากรายการตัวหารใน C++

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

  12. หา 2^(2^A) % B ใน C++

    ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมเพื่อประเมินสมการ 2^(2^A) % B เราจะหาค่าของสมการโดยใช้ฟังก์ชัน recursive มาดูขั้นตอนในการแก้ปัญหา เขียนฟังก์ชัน recursive ที่รับ 2 อาร์กิวเมนต์ A และ B ถ้า A เป็น 1 ให้คืนค่า 4 % B เพราะ 2^(2^1) % B = 4 % B มิฉะนั้น เรียกฟังก์ชันซ้ำด้วย A-1 และ B คืน

  13. หา (1^n + 2^n + 3^n + 4^n) mod 5 ใน C++

    ในบทช่วยสอนนี้ เราจะแก้ปัญหาต่อไปนี้ ได้รับจำนวนเต็ม n เราต้องหา (1n + 2n + 3n + 4n) % 5 ตัวเลข (1n + 2n + 3n + 4n) จะใหญ่มากถ้า n ใหญ่ มันไม่สามารถใส่ใน long integers ได้เช่นกัน ดังนั้นเราต้องหาวิธีแก้ปัญหาแบบอื่น ถ้าคุณแก้สมการสำหรับตัวเลข 1, 2, 3, 4, 5, 6, 7, 8, 9 คุณจะได้ 10, 30, 100, 354, 13

  14. หาจุดคงที่ (Fixed Point) ค่าที่เท่ากับดัชนี ในอาร์เรย์ที่กำหนดด้วย C++

    ในบทช่วยสอนนี้ เราจะแก้ปัญหาต่อไปนี้ ได้รับอาร์เรย์ หาตัวเลขที่เท่ากับดัชนี เป็นปัญหาที่ตรงไปตรงมา วนลูปผ่านอาร์เรย์ที่กำหนดและคืนค่าดัชนีที่เท่ากับองค์ประกอบของอาร์เรย์ ตัวอย่างโค้ด #include <bits/stdc++.h> using namespace std; int linearSearch(int arr[], int n) { for (int i = 0; i <

  15. หาตัวเลขที่หารอาร์เรย์ได้มากที่สุดใน C++

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

  16. หาตัวเลข X ที่ผลรวมกับหลักของมันเท่ากับ N ใน C++

    ในบทช่วยสอนนี้ เราจะหาตัวเลขที่ผลรวมรวมถึงหลักของมันเท่ากับตัวเลข N ที่กำหนด แนวคิดง่ายๆ เราจะตรวจสอบตัวเลข 100 ตัวทางซ้ายและขวาของตัวเลขที่กำหนด มันจะไม่อยู่นอกขอบเขตนั้นเพราะ N ≤ 1000000000 และผลรวมจะไม่เกิน 100 มาดูขั้นตอนในการแก้ปัญหา เริ่มต้นตัวเลข เขียนลูปที่วน 100 ครั้ง ได้ค่า n -

  17. หาคู่ที่มีผลรวมกำหนดใน BST ใน C++

    ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่หาคู่ที่ผลรวมเท่ากับตัวเลขที่กำหนดใน binary search tree เราจะเก็บค่าของต้นไม้ในสองรายการที่แตกต่างกันเพื่อหาคู่ มาดูขั้นตอนในการแก้ปัญหา สร้าง struct node สำหรับ binary tree เขียนฟังก์ชันเพื่อแทรกโหนดใหม่เข้าไปใน binary search tree จำไว้ว่าใน binary searc

  18. หาจุดแบ่ง (Partition Point) ในอาร์เรย์ด้วย C++

    ในบทช่วยสอนนี้ เราจะหาจุดแบ่ง (partition point) ในอาร์เรย์ที่องค์ประกอบทั้งหมดทางซ้ายของจุดแบ่งมีค่าน้อย และองค์ประกอบทั้งหมดทางขวามีค่ามาก มาดูขั้นตอนในการแก้ปัญหา เริ่มต้นอาร์เรย์ วนลูปผ่านอาร์เรย์ วนจาก 0 ถึง i และตรวจสอบแต่ละค่าว่ามันน้อยกว่าค่าปัจจุบันหรือไม่ วนจาก i ถึง n และตรวจ

  19. หา Peak Element ในอาร์เรย์ 2 มิติด้วย C++

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

  20. หา Peak Element ใน Linked List ด้วย C++

    ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่หา peak element ใน linked list ที่กำหนด Peak element คือองค์ประกอบที่มากกว่าองค์ประกอบรอบข้าง มาดูขั้นตอนในการแก้ปัญหา สร้าง struct node สำหรับ linked list สร้าง linked list ด้วยข้อมูลจำลอง ตรวจสอบกรณีพื้นฐานเช่นว่าลinked list ว่างหรือมีความยาว 1 เก็บองค์ประกอบแ

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:253/301  20-คอมพิวเตอร์/Page Goto:1 247 248 249 250 251 252 253 254 255 256 257 258 259