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

    ได้รับสตริง str ที่มีตัวอักษรภาษาอังกฤษ เป้าหมายคือหาจำนวนสระ (vowels) ที่เกิดขึ้นในทุกสับสตริง (substring) ของ str ถ้าสตริงคือ abcde สับสตริงจะเป็น a, b, c, d, e, ab, bc, cd, de, abc, bcd, cde, abcd, bcde, abcde จำนวนสระในสับสตริงเหล่านี้คือ 10 (a และ e) ตัวอย่าง Input str = aloe Output Count the

  2. นับสับอาร์เรย์ที่ค่าเฉลี่ยมากกว่าส่วนที่เหลือด้วย C++

    ได้รับอาร์เรย์ arr[] ของจำนวนเต็มบวก เป้าหมายคือหาจำนวนสับอาร์เรย์ (subarray) ที่มีค่าเฉลี่ยของสมาชิกมากกว่าค่าเฉลี่ยของสมาชิกที่เหลือใน arr[] ที่ไม่อยู่ในสับอาร์เรย์นั้น ตัวอย่าง Input arr[] = { 3, 2, 4 } Output Count of number of sub-arrays such that the average of elements present in the sub-arr

  3. นับสี่เหลี่ยมผืนผ้าที่อัตราส่วนด้านอยู่ในช่วง [a,b] ด้วย C++

    ได้รับด้านของสี่เหลี่ยมผืนผ้าและตัวแปรช่วง first และ last เป้าหมายคือหาจำนวนสี่เหลี่ยมที่อัตราส่วนความยาว/ความกว้าง อยู่ในช่วง [first, last] ตัวอย่าง Input rec[] = { { 200, 210 }, { 100, 50 }, { 300, 190}, {180, 200}, {300, 200}} and first = 1.0, last = 1.6 Output Count of number of rectangles such

  4. นับสับเซตที่มี GCD เท่ากับค่าที่กำหนดด้วย C++

    ได้รับอาร์เรย์ arr ที่มีจำนวนบวก และอาร์เรย์ GCD[] ที่มีค่า GCD เป้าหมายคือหาจำนวนสับเซตของสมาชิกใน arr[] ที่มีค่า GCD ตามที่กำหนดใน GCD[] ตัวอย่าง Input arr[] = {10, 5, 6, 3}, GCD[] = {2, 3, 5} Output Count of number of subsets of a set with GCD equal to a given number are: 1 2 2 Explanation The s

  5. นับสับเซตที่ค่ามัธยฐานอยู่ในเซตเดียวกันด้วย C++

    ได้รับอาร์เรย์ arr[] ที่มีจำนวนบวก เป้าหมายคือหาสับเซตของสมาชิกใน arr[] ที่ค่ามัธยฐาน (median) ของสับเซตนั้นอยู่ในสับเซตเดียวกันด้วย ตัวอย่าง Input arr[] = { 1,2,3 } Output Count of number of subsets whose median is also present in the same subset are: 4 Explanation The sets with their medians in t

  6. นับจำนวนสับสตริงที่มีตัวอักษรต่างกัน k ตัวด้วย C++

    ได้รับสตริง str[] ที่มีตัวอักษรภาษาอังกฤษพิมพ์เล็กเท่านั้น และค่าจำนวนเต็ม k เป้าหมายคือหาจำนวนสับสตริง (substring) ของ str ที่มีตัวอักษรต่างกัน (distinct characters) อยู่ที่ k ตัวพอดี ตัวอย่าง Input str=pqr k=2 Output Count of number of substrings with exactly k distinct characters are: 2 Explanat

  7. นับศูนย์นำหน้าในผลคูณ (1^1)*(2^2)*(3^3)*... ด้วย C++

    ได้รับจำนวนเต็ม num เป็นอินพุต เป้าหมายคือหาจำนวนศูนย์นำหน้าในผลคูณ 11 × 22 × 33 × ... × numnum ตัวอย่าง Input num=5 Output Count of number of trailing zeros in (1^1)*(2^2)*(3^3)*(4^4)*.. are: 5 Explanation The number of 2s and 5s in the product will be: 1^1 * 2^2* 3^3* 4^4* 5^5=1^1 * 2^2* 3^3* (2^

  8. นับศูนย์นำหน้ารูปแบบไบนารีของตัวเลขด้วย Bitset ใน C++

    ได้รับจำนวนเต็ม num เป็นอินพุต เป้าหมายคือหาจำนวนศูนย์นำหน้า (trailing zeros) ในรูปแบบไบนารีของ num โดยใช้ bitset Bitset เก็บบิต 0 และ 1 เป็นอาร์เรย์ของบิต ตัวอย่าง Input num = 10 Output Count of number of trailing zeros in Binary representation of a number using Bitset are: 1 Explanation The numbe

  9. นับจำนวนวิธีกระโดดถึงปลายอาร์เรย์ด้วย C++

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

  10. นับจำนวนวิธีแบ่งเซตเป็น k สับเซตด้วย C++

    ได้รับตัวเลขสองจำนวน e และ p เป้าหมายคือนับจำนวนวิธีที่เราสามารถแบ่ง e สมาชิกของเซตออกเป็น p ส่วน/สับเซตได้ ตัวอย่าง Input e=4 p=2 Output Count of number of ways to partition a set into k subsets are: 7 Explanation If elements are: a b c d then ways to divide them into 2 partitions are: (a,b,c)-(d)

  11. นับจำนวนที่ ≤ N และผลต่างกับจำนวนเฉพาะ ≤ ตัวมัน ≥ K ด้วย C++

    ได้รับจำนวนเต็ม N และ K เป้าหมายคือหาจำนวนที่ทำตามเงื่อนไข: Number ≤ N | Number - count | ≥ K โดย count คือจำนวนเฉพาะที่ ≤ Number ตัวอย่าง Input N = 5, K = 2 Output Count of numbers = K are: 2 Explanation =2) Input N = 10, K = 6 Output Count of numbers = K are: 1 Explanation =6) วิธีการที่ใช้ใน

  12. นับจำนวนการ Pop จาก Stack เพื่อหาแต่ละสมาชิกในอาร์เรย์ด้วย C++

    ได้รับอาร์เรย์ตัวเลขและสแต็ก สมาชิกทั้งหมดของอาร์เรย์อยู่ภายในสแต็ก เป้าหมายคือหาจำนวนครั้งของการ pop ที่ต้องทำเพื่อดึงสมาชิกแต่ละตัวของอาร์เรย์ออกมา สแต็กถูกเติมในลำดับลดลง สมาชิกแรกมีค่ามากที่สุด และตัวบนสุดมีค่าน้อยที่สุด ตัวอย่าง Input Stack [ 7,6,2,1 ] array : 2,1,6,7 Output Count of number of

  13. นับค่า X ที่ทำให้ A % X = B ด้วย C++

    ได้รับจำนวนเต็ม A และ B และตัวเลข X เป้าหมายคือหาจำนวนค่าที่ X สามารถเป็นได้ ที่ทำให้ A % X = B สำหรับสมการนี้ ถ้า A == B แล้ว X จะมีค่าได้ไม่จำกัด คืนค่า -1 ถ้า A < B ไม่มีคำตอบ คืนค่า 0 ถ้า A > B คืนค่าจำนวนตัวหารของ (A-B) ตัวอย่าง Input A=5, B=2 Output Count of all possible values of X suc

  14. นับจำนวนเลข N หลักที่ num + Rev(num) = 10^N - 1 ด้วย C++

    ได้รับจำนวน N เป็นอินพุต เป้าหมายคือหาจำนวนเลข N หลักทั้งหมดที่มีผลรวม num + rev(num) = 10N - 1 ตัวอย่าง Input N=4 Output Count of all N digit numbers such that num + Rev(num) = 10N - 1 are: 90 Explanation The numbers would be: 1. 1188 + 8811 = 9999 2. 2277 + 7722 = 9999 3. 1278 + 8721 = 9999 ...to

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

    ได้รับจำนวนเต็มสองจำนวนชื่อว่า one และ another เป้าหมายคือหาจำนวนอาร์เรย์ที่เป็นไปได้ที่ทำให้: สมาชิกในอาร์เรย์อยู่ในช่วง 1 ถึง another สมาชิกติดกันทุกคู่ ต้องหารกันลงตัว (คือ arr[i] หาร arr[i+1] ลงตัว หรือ arr[i+1] หาร arr[i] ลงตัว) ความยาวของอาร์เรย์คือ one ตัวอย่าง Input one = 3, another = 2 O

  16. นับจำนวนเลขฐานสองที่น้อยกว่า N ด้วย C++

    ได้รับจำนวนเต็ม N เป็นอินพุต เป้าหมายคือการหาจำนวนจำนวนเต็มที่น้อยกว่า N และแสดงในรูปแบบฐานสอง (binary) ตัวอย่างเช่น หาก N = 12 จำนวนที่น้อยกว่า 12 และเป็นเลขฐานสองคือ 1, 10, 11 รวม 3 จำนวน ตัวอย่าง Input N=100 Output Count of Binary Digit numbers smaller than N are: 4 Explanation The Binary number

  17. นับจำนวนช่วงที่ค่าที่กำหนดอยู่ในนั้นด้วย C++

    ได้รับอาร์เรย์ 2 มิติ arr[][] ที่เก็บช่วงต่างๆ และตัวเลข value เป้าหมายคือการหาจำนวนช่วงใน arr ที่ value อยู่ระหว่างช่วงนั้นๆ ตัวอย่างเช่น ช่วงคือ [[1,5], [3,7]] และ value=4 แล้ว 4 อยู่ในทั้งสองช่วง ดังนั้นจำนวนจะเป็น 2 ตัวอย่าง Input arr[4][2] = { { 1, 20 }, { 12, 25 }, { 32, 40 }, { 15, 18 } } va

  18. นับจำนวน "รู" (Holes) ในตัวเลขจำนวนเต็ม ใน C++

    โจทย์: ให้ตัวเลขจำนวนเต็ม ต้องการนับจำนวน รู (holes) ในตัวเลข โดยนิยาม: 0: 1 รู (หรือ 2 รูในบางฟอนต์) 1: 0 รู 2: 0 รู 3: 0 รู 4: 1 รู (หรือ 0) 5: 0 รู 6: 1 รู 7: 0 รู 8: 2 รู 9: 1 รู หมายเหตุ: โค้ดต้นฉบับใช้ array `holes[] = {2,1,1,0,0,1,1,1,0}` ซึ่งมีค่าไม่ตรงกับมาตรฐานทั่วไป (0 มี 2 รู, 1 มี 1

  19. นับ Subarray ที่ไม่เพิ่มขึ้น (Non-increasing) ใน C++

    โจทย์: ให้อาร์เรย์ arr[] ต้องการนับจำนวน Subarray ที่เป็นลำดับไม่เพิ่มขึ้น (แต่ละตัว ≤ ตัวก่อนหน้า) ความยาวอย่างน้อย 1 แนวคิด: จัดกลุ่มช่วงไม่เพิ่มขึ้น หาช่วงติดต่อกันที่ไม่เพิ่มขึ้น (maximal non-increasing subarray) ความยาว L จำนวน subarray ในช่วงนี้ = L(L+1)/2 อัลกอริทึม วิ่งผ่านอาร์เรย์ ติดตาม

  20. นับ Subset ที่ XOR เท่ากับค่าที่กำหนด ใน C++

    โจทย์: ให้อาร์เรย์ arr[] และค่า match ต้องการนับ Subset ที่ XOR ขององค์ประกอบเท่ากับ match แนวคิด: Dynamic Programming dp[i][j] = จำนวน subset จาก arr[0..i-1] ที่ XOR เท่ากับ j Recurrence: dp[i][j] = dp[i-1][j] + dp[i-1][j ⊕ arr[i-1]] ขอบเขตค่า XOR ค่า XOR สูงสุด = (2^(⌊log₂(max)⌋+1)) - 1 โค้ด C+

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:241/301  20-คอมพิวเตอร์/Page Goto:1 235 236 237 238 239 240 241 242 243 244 245 246 247