Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. Counting frequencies of array elements in C++: นับความถี่ของแต่ละค่าใน Array

    กำหนด array ที่มีค่าซ้ำกัน หาความถี่ของแต่ละค่าที่แตกต่างกัน ตัวอย่าง: {1,1,2,3,4,1,2,3} → 1:3, 2:2, 3:2, 4:1 วิธีแก้ปัญหา O(n²) - Brute Force (visited array) วน i, ถ้ายังไม่นับ วน j นับและ mark visited O(n) - Hash Map (แนะนำ) ใช้ unordered_map นับความถี่โดยตรง ตัวอย่างโค้ด C++ (Hash Map) #inclu

  2. Count words in a given string in C++: นับจำนวนคำใน String

    กำหนด string ที่อาจมี space, newline (\n), tab (\t) หาจำนวนคำ (word) โดยคำคือลำดับตัวอักษรที่ไม่ใช่ whitespace ตัวอย่าง: welcome to\n tutorials point\t → 4 คำ วิธีแก้ปัญหา ใช้ flag in_word ติดตามสถานะ เจอ non-whitespace และไม่อยู่ในคำ → เริ่มคำใหม่ count++ เจอ whitespace → in_word = false

  3. Count Uppercase, Lowercase, special character and numeric values in C++

    กำหนด string นับจำนวน: ตัวพิมพ์ใหญ่ (A-Z), ตัวพิมพ์เล็ก (a-z), ตัวเลข (0-9), อักขระพิเศษ ตัวอย่าง: Tutori@lPo!n&90 → Upper: 2, Lower: 8, Digit: 2, Special: 3 วิธีแก้ปัญหา วนลูปทุกตัวอักษร ตรวจสอบช่วง ASCII: A-Z, a-z, 0-9, ที่เหลือ = special ตัวอย่างโค้ด C++ = A && c = a && c = 0 && c <= 9)

  4. Count total bits in a number in C++: นับจำนวน bit ทั้งหมดในการแทนค่า

    กำหนดจำนวนเต็ม num หาจำนวน bit ที่ใช้ในการแทนค่า (ไม่รวม leading zeros) ตัวอย่าง: 50 (110010) → 6 bits, 10 (1010) → 4 bits วิธีแก้ปัญหา Built-in: 32 - __builtin_clz(num) (สำหรับ 32-bit) Manual: floor(log2(num)) + 1 หรือ shift จนเป็น 0 ตัวอย่างโค้ด C++ = 1; } return count; } int mai

  5. Count set bits in an integer in C++: นับ bit 1 ในจำนวนเต็ม

    กำหนดจำนวนเต็ม num นับจำนวน bit 1 (set bits) ใน binary representation ตัวอย่าง: 50 (110010) → 3 bits, 10 (1010) → 2 bits วิธีแก้ปัญหา Built-in: __builtin_popcount(num) (GCC/Clang) Manual: Brian Kernighans algorithm: while(n){ n &= n-1; count++; } ตัวอย่างโค้ด C++ #include <bits/stdc++.h&

  6. Count set bits in a range in C++: นับ bit 1 ในช่วงตำแหน่งที่กำหนด

    กำหนดจำนวนเต็ม num และช่วง [left, right] (1-indexed จาก LSB) นับจำนวน bit 1 ในช่วงนี้ ตัวอย่าง: num=50 (110010), left=2, right=5 → bits: positions 2-5 = 1001 → count = 2 วิธีแก้ปัญหา สร้าง mask ที่มี bit 1 ในช่วง [left, right]: mask = ((1<

  7. Count of parallelograms in a plane in C++: นับรูปสี่เหลี่ยมขนานจากจุดบนระนาบ

    กำหนดจุดบนระนาบ 2D หาจำนวนรูปสี่เหลี่ยมขนานที่สร้างได้ ข้อสังเกต: รูปสี่เหลี่ยมขนาน ⇔ จุด 4 จุดที่ midpoint ของ diagonal ทั้งสองตรงกัน → นับคู่จุดทุกคู่ คำนวณ midpoint (เก็บเป็นผลรวม x1+x2, y1+y2 เพื่อหลีกเลี่ยง float) นับความถี่ midpoint เดียวกัน ถ้ามี k คู่ที่มี midpoint เดียวกัน → สร้างสี่เหลี่ย

  8. Count pairs with Bitwise AND as ODD number in C++

    นับคู่ที่ a & b เป็นเลขคี่ ข้อสังเกต: a & b เป็นคี่ ⟺ a และ b เป็นคี่ทั้งคู่ คำตอบ = C(odd_count, 2) ตัวอย่าง: {2,5,1,8,9,2,7} → Odd: 5,1,9,7 (4 ตัว) → C(4,2) = 6 ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using namespace std; int count_pair(int arr[], int n) { int odd = 0; for(int

  9. Count pairs with Bitwise-AND as even number in C++

    นับคู่ที่ a & b เป็นเลขคู่ ข้อสังเกต: a & b เป็นคี่ ⟺ a และ b เป็นคี่ทั้งคู่ คู่ที่ AND เป็นคู่ = ทุกคู่ - คู่ที่ AND เป็นคี่ = C(n,2) - C(odd,2) ตัวอย่าง: {2,5,1,8,3} → n=5, odd=3 (5,1,3) → C(5,2)-C(3,2) = 10-3 = 7 ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using namespace std; int count_p

  10. Count pairs with Bitwise OR as Even number in C++

    นับคู่ที่ a | b เป็นเลขคู่ ข้อสังเกต: a | b เป็นคู่ ⟺ a และ b เป็นคู่ทั้งคู่ (LSB = 0) คำตอบ = C(even_count, 2) ตัวอย่าง: {2,5,1,8,9,2,7} → Even: 2,8,2 (3 ตัว) → C(3,2) = 3 ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using namespace std; int count_pair(int arr[], int n) { int even = 0;

  11. Count pairs with bitwise OR less than Max in C++

    กำหนด array หาจำนวนคู่ (i,j) ที่ i < j และ (arr[i] | arr[j]) ≤ max(arr[i], arr[j]) ข้อสังเกต: a | b ≤ max(a,b) ⟺ a | b = max(a,b) ⟺ bit ของตัวเล็กเป็น subset ของ bit ของตัวใหญ่ ตัวอย่าง: {2,5,1,8,9} → คู่ที่ตรง: (5,1)→5, (8,9)→9, (2,?) ไม่มี → Output: 3 ตัวอย่างโค้ด C++ #include <bits/stdc++.h

  12. Count pairs with Bitwise XOR as EVEN number in C++

    นับคู่ที่ XOR ได้ค่าเลขคู่ ข้อสังเกต: a XOR b เป็นคู่ ⟺ a,b เหมือน parity (ทั้งคู่หรือทั้งคี่) คู่คู่ = C(even,2), คู่คี่ = C(odd,2) → รวม = C(even,2) + C(odd,2) ตัวอย่าง: {2,6,1,8} → Even: 3, Odd: 1 → C(3,2)+C(1,2) = 3+0 = 3 ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using namespace std; i

  13. Count pairs with Bitwise XOR as ODD number in C++

    โจทย์เดียวกับข้อ 171: นับคู่ที่ XOR ได้ค่าเลขคี่ ข้อสังเกต: a XOR b เป็นคี่ ⟺ a และ b ต่าง parity (หนึ่งคู่ หนึ่งคี่) ตัวอย่าง: {6,1,3,4,8,9} → Even: 6,4,8 (3), Odd: 1,3,9 (3) → 3×3 = 9 ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using namespace std; int XOR_Odd(int arr[], int n) { int e

  14. Count pairs with given sum in C++: นับคู่ที่ผลรวมเท่ากับค่าที่กำหนด

    กำหนด array และ sum หาจำนวนคู่ (i,j) ที่ i < j และ arr[i] + arr[j] == sum ตัวอย่าง: arr = {2,8,1,5,11}, sum = 10 → Output: 2 (คู่: 2+8, 5+5? ไม่มี 5 สองตัว → 2+8, 1+9? ไม่มี → ตัวอย่างอาจมีข้อผิดพลาด) วิธีแก้ปัญหา O(n²) - Brute Force วนลูปทุกคู่ O(n) - Hash Map / Two Pointers (ถ้าเรียงแล้ว) ใช

  15. Count pairs with Odd XOR in C++: นับคู่ที่ XOR ได้ค่าเลขคี่

    กำหนด array หาจำนวนคู่ (i,j) ที่ i < j และ arr[i] XOR arr[j] เป็นเลขคี่ ข้อสังเกต: XOR เป็นคี่ ⟺ หนึ่งตัวคู่ อีกตัวคี่ ตัวอย่าง: {2,8,1,5,11} → Even: 2,8 (2 ตัว), Odd: 1,5,11 (3 ตัว) → คู่ = 2×3 = 6 วิธีแก้ปัญหา นับจำนวนเลขคู่ (even) และเลขคี่ (odd) คำตอบ = even * odd ตัวอย่างโค้ด C++ #inc

  16. Count Odd and Even numbers in a range from L to R in C++

    กำหนดช่วง [L, R] นับจำนวนเลขคู่และเลขคี่ในช่วงนี้ ตัวอย่าง: L=7, R=17 → Even: 5, Odd: 6 วิธีแก้ปัญหา (O(1) Formula) จำนวนเต็มในช่วง = R - L + 1 ถ้าจำนวนรวมเป็นคู่: Even = Odd = รวม/2 ถ้าจำนวนรวมเป็นคี่: หนึ่งในคู่/คี่ จะมากกว่าอีกด้าน 1 ขึ้นอยู่กับ L สูตร: even = (R/2) - ((L-1)/2), odd = (R

  17. Count pairs (x, y) in an array such that x < y in C++

    กำหนด array หาจำนวนคู่ (x,y) ที่ x < y (พิจารณาคู่สั่งลำดับ ordered pairs) ตัวอย่าง: {2,4,3,1} → Output: 6 คู่: (2,4),(2,3),(3,4),(1,2),(1,3),(1,4) วิธีแก้ปัญหา O(n²) - Brute Force วนลูป i, j ทุกคู่ นับที่ arr[i] < arr[j] O(n log n) - Sort + Binary Search / Fenwick Tree Compress ค่า (coordinat

  18. Count of pairs from 1 to a and 1 to b whose sum is divisible by N in C++

    กำหนด a, b, n นับคู่ (x,y) ที่ 1 ≤ x ≤ a, 1 ≤ y ≤ b และ (x+y) % n == 0 ตัวอย่าง: a=2, b=3, n=2 → Output: 3 คู่: (1,1)=2, (1,3)=4, (2,2)=4 หาร 2 ลงตัว วิธีแก้ปัญหา (O(n) แทน O(ab)) นับจำนวน x ใน [1,a] ที่ mod n = r สำหรับทุก r (0..n-1) นับจำนวน y ใน [1,b] ที่ mod n = r คู่ที่ (x+y)%n==0 คือ

  19. Count of alphabets having ASCII value less than and greater than k in C++

    กำหนด string และค่า k นับจำนวนตัวอักษรที่ ASCII value < k และ ≥ k ตัวอย่าง: str = TuTorials PoinT, k = 100 Output: น้อยกว่า 100 = 6, มากกว่าหรือเท่า 100 = 9 วิธีแก้ปัญหา วนลูปทุกตัวอักษรใน string ถ้า (int)c < k เพิ่มนับน้อยกว่า มากกว่าหรือเท่า = ความยาว - น้อยกว่า ตัวอย่างโค้ด C++ #includ

  20. Count smaller numbers whose XOR with n produces greater value in C++

    โจทย์เดียวกับข้อ 165: กำหนด num นับ y < num ที่ num ตัวอย่าง: num = 11 → 4, num = 12 → 3 (โจทย์ต้นฉบับมีข้อผิดพลาดในตัวอย่าง x=12 ควรเป็น 11) วิธีแก้ปัญหา (Bitwise) เหมือนข้อ 165: วนตรวจสอบ bit ของ num จาก LSB ถ้า bit = 0 ให้เพิ่ม 2^position ลงในคำตอบ ตัวอย่างโค้ด C++ 0) { if((n & 1) ==

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:215/301  20-คอมพิวเตอร์/Page Goto:1 209 210 211 212 213 214 215 216 217 218 219 220 221