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

    ให้อาเรย์ หาจำนวนกลุ่มขนาด 2 และ 3 ที่ผลรวมหาร 3 ลงตัว ตัวอย่าง: Input: arr = [1, 2, 3, 4] Output: 4 กลุ่ม: [1,2], [2,4], [1,2,3], [2,3,4] อัลกอริทึม count = 0 2 loops หาคู่ขนาด 2: ถ้า sum % 3 == 0 count++ 3 loops หาคู่ขนาด 3: ถ้า sum % 3 == 0 count++ คืนค่า count การเขียนโปรแกรม C++ #include

  2. จำนวนดัชนีที่มีสมาชิกติดกันเท่ากันในช่วงที่กำหนด C++

    ให้อาเรย์และช่วงดัชนี lower, upper นับจำนวนคู่ติดกันที่เท่ากันในช่วง ตัวอย่าง: Input: arr = [1, 2, 2, 2, 3, 3, 4], lower = 1, upper = 5 Output: 3 อัลกอริทึม กำหนดอาเรย์และช่วง count = 0 วน i = lower ถึง upper-1: ถ้า arr[i] == arr[i+1] count++ คืนค่า count การเขียนโปรแกรม C++ #include <bi

  3. จำนวนจำนวนเต็มที่มีบิต 1 เป็นจำนวนคี่ใน C++

    ให้ n หาจำนวนจำนวนเต็ม 1 ถึง n ที่มีจำนวนบิต 1 (set bits) เป็นเลขคี่ ตัวอย่าง: Input: n = 10 Output: 5 อัลกอริทึม ฟังก์ชันนับ set bits: วนหาร 2 นับเศษ 1 count = 0 วน i = 1 ถึง n: ถ้า setBits(i) % 2 == 1 count++ คืนค่า count การเขียนโปรแกรม C++ #include <bits/stdc++.h> using namespace

  4. จำนวนจุดจำนวนเต็มระหว่างสองจุดใน C++

    หาจำนวนจุดจำนวนเต็ม (integral points) ระหว่างสองจุด สูตร: ทั่วไป: gcd(|x2-x1|, |y2-y1|) - 1 ขนานแกน x: |y1-y2| - 1 ขนานแกน y: |x1-x2| - 1 ตัวอย่าง: Input: pointOne = [1, 5], pointTwo = [1, 3] Output: 1 อัลกอริทึม ถ้า x1 == x2: คืน |y1-y2| - 1 ถ้า y1 == y2: คืน |x1-x2| - 1 มิฉะนั้น: คืน gcd(|

  5. จำนวนคำตอบจำนวนเต็มของสมการ x1 + x2 + ... + xN = k ใน C++

    จำนวนคำตอบจำนวนเต็มของสมการ: Non-negative: C(n+k-1, k) Positive: C(k-1, n-1) รวมทั้งสองเข้าด้วยกัน ตัวอย่าง: Input: n = 4, k = 7 Output: 140 อัลกอริทึม กำหนด n, k คำนวณ factorial และ nCr คำตอบ = nCr(n+k-1, k) + nCr(k-1, n-1) การเขียนโปรแกรม C++ #include <bits/stdc++.h> using namespace

  6. จำนวนสมาชิกที่มากกว่าด้านขวาในสตริง C++

    ให้สตริง นับจำนวนตัวอักษรที่มากกว่า (larger) อยู่ด้านขวาของแต่ละตัวอักษร ตัวอย่าง: Input: abc Output: 2 1 0 a มีตัวมากกว่าด้านขวา 2 ตัว (b,c), b มี 1 ตัว (c), c มี 0 อัลกอริทึม กำหนดสตริงและอาเรย์ count i): ถ้า str[i] < str[j] count[i]++ พิมพ์ count ทั้งหมด การเขียนโปรแกรม C++ #include

  7. จำนวนศูนย์นำหน้าในรูปแบบไบนารีของจำนวนที่กำหนดใน C++

    ให้จำนวนหนึ่ง หาจำนวนศูนย์นำหน้า (leading zeros) ในรูปแบบไบนารี 32-bit ตัวอย่าง: Input: 5 Output: 25 ไบนารีของ 5 คือ 00000...00101 (มีศูนย์นำหน้า 29 ตัว แต่โค้ดคำนวณได้ 25 สำหรับ 101) อัลกอริทึม totalBits = sizeof(n) * 8 (32) แปลง n เป็นสตริงไบนารี (ไม่รวมศูนย์นำหน้า) คืนค่า totalBits - binary.l

  8. จำนวนโหนดใบใน Subtree ของทุกโหนดใน N-ary Tree ใน C++

    ให้ N-ary tree หาจำนวนโหนดใบ (leaf nodes) ใน subtree ของทุกโหนด ตัวอย่าง: 1 อัลกอริทึม สร้าง tree adjacency list DFS จากโหนด 1 leaf[node] = 0, visited[node] = 1 วนลูปลูก: ถ้ายังไม่ visited DFS(l) แล้ว leaf[node] += leaf[l] ถ้าไม่มีลูก leaf[node] = 1 พิมพ์ leaf ของทุกโหนด การเขียนโปรแกรม C++ &

  9. จำนวนการเคลื่อนที่เพื่อเดา Permutation ใน C++

    ให้ N หาจำนวนการเคลื่อนที่ (moves) ที่ต้องใช้เดา permutation ใน worst case สูตรคือ n! (แฟกทอเรียล) แต่โค้ดตัวอย่างคำนวณแบบอื่น ตัวอย่าง: Input: 5 Output: 129 อัลกอริทึม กำหนด n count = 0 วนลูป i = 1 ถึง n: count += i * (n - i) count += n คืนค่า count การเขียนโปรแกรม C++ #include <bits/stdc+

  10. จำนวนเลข Stepping Number จำนวน n หลักใน C++

    Stepping Number คือเลขที่ผลต่างระหว่างหลักติดกันเป็น 1 ให้ n หาจำนวน stepping number n หลัก ตัวอย่าง: Input: 2 Output: 17 เลข 2 หลัก 10-99 มี stepping number 17 ตัว อัลกอริทึม กำหนด n lowest = 10^(n-1), highest = 10^n - 1 count = 0 วนลูป i = lowest ถึง highest: เช็ค stepping number: ตรวจสอบผลต่

  11. จำนวน NGE (Next Greater Elements) ด้านขวาใน C++

    ให้อาเรย์และ index ของเป้าหมาย นับจำนวนสมาชิกที่มากกว่าเป้าหมายอยู่ด้านขวา ตัวอย่าง: Input: arr = [2, 3, 5, 1, 4, 2, 6], index = 3 Output: 3 เป้าหมายคือ arr[3]=1 ด้านขวามี 4, 2, 6 มากกว่า 1 ทั้งหมด 3 ตัว อัลกอริทึม ถ้า index >= n คืน -1 count = 0 วนลูป i = index+1 ถึง n-1: ถ้า arr[index] <

  12. จำนวนโหนดที่มีค่ามากกว่าค่าที่กำหนดใน N-ary Tree ใน C++

    ให้ N-ary tree และตัวเลข n หาจำนวนโหนดที่มีค่ามากกว่า n ตัวอย่าง: Input: tree = [[4], [1, 2], [3, 5]], n = 2 Output: 3 อัลกอริทึม สร้างโครงสร้าง Node มี data และ vector<Node*> child ฟังก์ชัน getGreaterElementsCount(root, n): ถ้า root == NULL คืน 0 count = (root->data > n) ? 1 : 0 วน

  13. จำนวนคำตอบจำนวนเต็มไม่ติดลบของสมการ x + y + z = n ใน C++

    หาจำนวนคำตอบจำนวนเต็มไม่ติดลบของสมการ x + y + z = n ตัวอย่าง: Input: 2 Output: 6 คำตอบ: (0,0,2), (0,1,1), (0,2,0), (1,0,1), (1,1,0), (2,0,0) อัลกอริทึม กำหนด n count = 0 วนลูป 3 ชั้น i, j, k: i = 0..n, j = 0..n-i, k = 0..n-i-j ถ้า i+j+k == n count++ คืนค่า count การเขียนโปรแกรม C++ #include

  14. จำนวนคู่จุดที่สอดคล้องสมการเส้นตรงใน C++

    สมการเส้นตรง y = mx + c ให้อาเรย์, m, c หาจำนวนคู่จุด (x, y) ที่สอดคล้อง ตัวอย่าง: Input: arr = [1, 2, 3], m = 1, c = 1 Output: 2 คู่ที่สอดคล้อง: (1,2) และ (2,3) อัลกอริทึม กำหนดอาเรย์, m, c วนลูป 2 ชั้นหาทุกคู่ (i, j): ถ้า i == j ข้าม เช็ค arr[j] == m * arr[i] + c ถ้าเป็นจริง count++ คืนค่า

  15. จำนวนคู่จาก N จำนวนธรรมชาติลำดับแรกที่ผลรวมหาร K ลงตัวใน C++

    ให้ N และ K หาจำนวนคู่จาก 1..N ที่ผลรวมหาร K ลงตัว ตัวอย่าง: Input: N = 3, K = 2 Output: 1 คู่ (1, 3) ผลรวม 4 หาร 2 ลงตัว อัลกอริทึม กำหนด N, K สร้างอาเรย์ 1..N count = 0 วนลูป 2 ชั้นหาทุกคู่: sum = arr[i] + arr[j] ถ้า sum % K == 0 count++ คืนค่า count การเขียนโปรแกรม C++ #include <bits/

  16. จำนวนคู่ที่ผลรวมเป็นกำลังของ 2 ใน C++

    ให้อาเรย์ หาจำนวนคู่ที่ผลรวมเป็นกำลังของ 2 (power of 2) ตัวอย่าง: Input: arr = [1, 2, 3] Output: 1 คู่ (1, 3) ให้ผลรวม 4 = 2² อัลกอริทึม กำหนดอาเรย์ count = 0 วนลูป 2 ชั้นหาทุกคู่: sum = arr[i] + arr[j] เช็ค power of 2: (sum & (sum - 1)) == 0 ถ้าเป็น count++ คืนค่า count การเขียนโปรแกรม

  17. จำนวนคู่ที่ Bitwise OR ให้เลขคี่ใน C++

    ให้อาเรย์ หาจำนวนคู่ที่ Bitwise OR ให้ผลลัพธ์เป็นเลขคี่ ตัวอย่าง: Input: arr = [1, 2] Output: 1 คู่ (1, 2) ให้ OR เป็น 3 (คี่) อัลกอริทึม กำหนดอาเรย์ count = 0 วนลูป 2 ชั้นหาทุกคู่: คำนวณ bitwise OR ถ้าผลลัพธ์ % 2 != 0 count++ คืนค่า count การเขียนโปรแกรม C++ #include <bits/stdc++.h>

  18. จำนวนคู่ที่มีผลรวมสูงสุดใน C++

    ให้อาเรย์ หาจำนวนคู่ที่มีผลรวมสูงสุด ตัวอย่าง: Input: arr = [3, 6, 5, 2, 1, 2, 3, 4, 1, 5] Output: 2 ผลรวมสูงสุดคือ 10 มี 2 คู่ คือ (5,5) และ (6,4) อัลกอริทึม กำหนดค่าเริ่มต้นอาเรย์ maxSum = INT_MIN วนลูป 2 ชั้นหา maxSum ของทุกคู่ count = 0 วนลูป 2 ชั้นอีกครั้ง นับคู่ที่ผลรวมเท่ากับ maxSum คืนค่

  19. หาเลข Palindrome ความยาวคู่ลำดับที่ N ด้วย C++

    เลข Palindrome คือเลขที่อ่านจากหน้าหรือหลังได้เหมือนกัน เช่น 1, 121, 131, 1221, 1551 คำก็ได้ เช่น saas, malayalam, level, mom เลข Palindrome ความยาวคู่ (Even-length Palindrome) ตัวอย่าง: 11, 22, 33, 44, 55, 66, 77, 88, 99, 1001, 1111, ... สังเกตว่าครึ่งแรกเท่ากับครึ่งหลังเมื่อกลับด้าน วิธีหาเลข P

  20. โปรแกรม C++ รับจำนวนเต็มและทศนิยม แล้วบวกกัน

    สมมติว่ามีตัวเลข a (int) และ b (float) รับจาก stdin แล้วแสดงผลรวม เช่น a = 10, b = 56.23 ผลลัพธ์: Sum: 66.23 ขั้นตอนการแก้ปัญหา ใช้ << สำหรับ output, >> สำหรับ input อ่าน a, b แล้วพิมพ์ a + b ตัวอย่างโค้ด #include <iostream> using namespace std; int main(){    int a

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