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

    โจทย์ กำหนดจุด n จุด (Xi, Yi) ในพิกัด 2D แต่ละจุดมีน้ำหนัก Wi ต้องการทราบว่าสามารถลากเส้นตรงมุม 45 องศาได้หรือไม่ ที่ทำให้น้ำหนักรวมของจุดทั้งสองข้างของเส้นเท่ากัน ตัวอย่าง: [[-1,1,3],[-2,1,1],[1,-1,4]] → TRUE ขั้นตอนการแก้ปัญหา คำนวณ temp_x = x - y สำหรับแต่ละจุด (นี่คือการฉายจุดลงบนเส้น 45 องศา

  2. ตรวจสอบว่าเป็นเลขโทรจัน (Trojan Number) หรือไม่ใน C++

    แนวคิด เลขโทรจัน (Trojan Number) คือจำนวนที่เป็น Strong Number (ทุกเฉพาะตัวประกอบ p มี p² หารมันลงตัว ทุกเฉพาะตัวปรากฏอย่างน้อย 2 ครั้ง) แต่ ไม่ใช่ Perfect Power 1) หมายเหตุ: เลขโทรจันทุกตัวเป็น Strong Number แต่ไม่ใช่ทุก Strong Number เป็น Trojan Number ตัวอย่าง: - 72 = 6×6×2 = (6²)×2 → Strong Nu

  3. ตรวจสอบว่าเป็นจำนวนอัคคิลลีส (Achilles Number) หรือไม่ใน C++

    แนวคิด จำนวนอัคคิลลีส (Achilles Number) คือจำนวนที่เป็น Powerful Number (ทุกเฉพาะตัวประกอบ p มี p² หารมันลงตัว) แต่ ไม่ใช่ Perfect Power 1) จำนวนอัคคิลลีสแรกๆ: 72, 108, 200, 288, 392, 432, 500, 648, 675, 800, 864, 968, 972, 1125 ตัวอย่าง: - 108 → YES (Powerful เพราะ 2² และ 3² หาร 108 ลงตัว แต่ไม่ใ

  4. ตรวจสอบว่าเป็นจำนวนเฉพาะพรีโมเรียล (Primorial Prime) หรือไม่ใน C++

    แนวคิด จำนวนเฉพาะพรีโมเรียล (Primorial Prime) คือจำนวนเฉพาะที่อยู่ในรูปแบบ pN# + 1 หรือ pN# - 1 โดยที่ pN# คือผลคูณของจำนวนเฉพาะ N ตัวแรก (เรียกว่า Primorial) ตัวอย่าง: - 7 = 2×3 + 1 = 6 + 1 → YES (N=2) - 29 = 2×3×5 - 1 = 30 - 1 → YES (N=3) - จำนวนเฉพาะพรีโมเรียลแรกๆ: 2, 3, 5, 7, 29, 31, 211, 2309,

  5. วางตัวเลข 1-8 ในกริด 3x4 โดยไม่ให้ตัวเลขติดกันติดลำดับใน C++

    โจทย์ ต้องการวางตัวเลข 1, 2, 3, 4, 5, 6, 7, 8 ลงในวงกลม 8 วงในกริด 3x4 (บางช่องเป็นช่องว่าง) โดยที่ไม่มีตัวเลขใดอยู่ติดกับตัวเลขที่ติดลำดับกัน (เช่น 1 ไม่ติด 2, 2 ไม่ติด 3, ฯลฯ) ขั้นตอนการแก้ปัญหา กำหนด N=3, M=4, NOTCONSIDERED=-1 ฟังก์ชัน present_in_grid(): ตรวจสอบว่าตัวเลขถูกใช้ไปแล้วหรือยัง ฟังก

  6. หาสับเซ็ตที่ไม่ว่างซึ่งผลรวมหารด้วย N ลงตัวใน C++

    โจทย์ ให้อาร์เรย์ของจำนวน n ตัว ต้องการหาสับเซ็ตที่ไม่ว่างซึ่งผลรวมของสมาชิกในสับเซ็ตหารด้วย n ลงตัว ต้องแสดงสับเซ็ตใดสับเซ็ตหนึ่งพร้อมขนาดและดัชนีของสมาชิกในอาร์เรย์ต้นฉบับ ตัวอย่าง: อินพุต [3, 2, 7, 1, 9] → เอาต์พุต [2], [1 2] ขั้นตอนการแก้ปัญหา สร้าง map my_map กำหนด add := 0 วนลูป i := 0 ถึง

  7. หาค่าที่ทำให้ผลรวม XOR กับทุกค่าในอาร์เรย์เป็นค่าต่ำสุดใน C++

    แนวคิด เมื่อได้รับอาร์เรย์ Arr[] ของจำนวนเต็มบวก งานคือการหาจำนวนเต็ม X ที่ทำให้ (Arr[0] XOR X) + (Arr[1] XOR X) + … + (Arr[n-1] XOR X) ให้ค่าต่ำสุด วิธีการแก้ปัญหา เราจะตรวจสอบบิตที่ i ของทุกตัวเลขในอาร์เรย์ในรูปแบบไบนารี และนับจำนวนตัวเลขที่มีบิตที่ i ตั้งค่าเป็น 1 เพราะบิตเหล่านี้จะทำให้ผลรวมเพิ

  8. หาวีร์เทกซ์ที่ไปถึงได้จากทุกวีร์เทกซ์ในเซตที่กำหนดใน C++

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

  9. หาลำดับตัวอักษรให้คำเรียงลำดับได้ใน C++

    แนวคิด สมมติว่ามีอาร์เรย์ของคำ เราต้องหาลำดับตัวอักษรในอักษรอังกฤษใดๆ ที่ทำให้คำที่กำหนดสามารถพิจารณาว่าเรียงลำดับจากน้อยไปมากได้ หากมีลำดับดังกล่าวอยู่ มิฉะนั้นคืนค่า impossible เช่น ถ้าอินพุตคือ words = [efgh, wxyz] ผลลัพธ์จะเป็น zyxvutsrqponmlkjihgfewdcba เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอน: AL

  10. หาจำนวนเต็ม X ที่เป็นตัวหารของทุกตัวยกเว้นหนึ่งในอาร์เรย์ C++

    แนวคิด ได้รับอาร์เรย์ของจำนวนเต็ม ให้หาจำนวนเต็ม B ที่เป็นตัวหารของทุกสมาชิกยกเว้นสมาชิกเพียงตัวเดียวในอาร์เรย์ที่กำหนด หมายเหตุ: GCD ของทุกสมาชิกไม่ใช่ 1 อินพุต arr[] = {8, 16, 4, 24} เอาต์พุต 8 8 เป็นตัวหารของทุกตัวยกเว้น 4 อินพุต arr[] = {50, 15, 40, 41} เอาต์พุต 5 5 เป็นตัวหารของทุกตัวยกเว้น

  11. หาค่าเฉลี่ยและความแปรปรวนรวมของสองชุดข้อมูลใน C++

    แนวคิด ได้รับสองชุดข้อมูล arr1[b] และ arr2[a] ขนาด b และ a ให้หาค่าเฉลี่ยและความแปรปรวนของชุดข้อมูลรวม อินพุต Arr1[] = {24, 46, 35, 79, 13, 77, 35}; Arr2[] = {66, 68, 35, 24, 46}; เอาต์พุต Mean1: 44.1429 Mean2: 47.8 StandardDeviation1: 548.694 StandardDeviation2: 294.56 Combined Mean: 45.6667 d1 s

  12. หาค่า d เพื่อเพิ่มศูนย์ในอาร์เรย์ c[i] = d*a[i] + b[i] ใน C++

    แนวคิด ได้รับอาร์เรย์สองอาร์เรย์ของจำนวนเต็ม M ตัว สมมติอาร์เรย์ C โดยสมาชิกที่ i จะเป็น d*a[i] + b[i] โดย d เป็นจำนวนจริง bất kỳ ให้พิมพ์ d 使得อาร์เรย์ C มีศูนย์มากที่สุด และพิมพ์จำนวนศูนย์ด้วย อินพุต a[] = {15, 40, 45} b[] = {4, 5, 6} เอาต์พุต Value of d is: -0.133333 The number of zeros in array

  13. หาสมาชิกที่แตกต่างกันซ้ำในทุกแถวของเมทริกซ์ใน C++

    แนวคิด ได้รับเมทริกซ์ m x m ให้หาสมาชิกที่แตกต่างกันซ้ำในทุกแถวของเมทริกซ์ สามารถแสดงสมาชิกในลำดับใดก็ได้ อินพุต mat[][] = {{13, 2, 15, 4, 17}, {15, 3, 2, 4, 36}, {15, 2, 15, 4, 12}, {15, 26, 4, 3, 2}, {2, 19, 4, 22, 15}} เอาต์พุต 2 4 15 วิธีการ วิธีที่ 1: ใช้ 3 ลูปซ้อน ตรวจสอบว่าสมาชิกของแถวแรกม

  14. หาค่าซ้ำในอาร์เรย์ด้วยบิตอาร์เรย์ใน C++

    แนวคิด มีอาร์เรย์ n จำนวน โดย n สูงสุด 32,000 อาร์เรย์อาจมีค่าซ้ำ และเราไม่รู้ n จริงๆ คำถามคือ ด้วยหน่วยความจำเพียง 4 กิโลไบต์ จะแสดงค่าซ้ำทั้งหมดในอาร์เรย์อย่างไร? อินพุต arr[] = {2, 6, 2, 11, 13, 11} เอาต์พุต 2 11 2 และ 11 ปรากฏมากกว่า 1 ครั้งในอาร์เรย์ที่กำหนด อินพุต arr[] = {60, 50, 60} เอา

  15. หาตำแหน่งสมาชิกในลำดับมโนโทนิกที่กำหนดใน C++

    แนวคิด ได้รับจำนวนเต็ม l และลำดับมโนโทนิกเพิ่มขึ้น: f(m) = a*m + b*m*[log2(m)] + c*m^3 โดยที่ (a = 1, 2, 3, ...), (b = 1, 2, 3, ...), (c = 0, 1, 2, 3, ...) หมายเหตุ: [log2(m)] หมายถึง log ฐาน 2 แล้วปัดลง ดังนั้น: ถ้า m = 1 ค่า = 0 ถ้า m = 2-3 ค่า = 1 ถ้า m = 4-7 ค่า = 2 ถ้า m = 8-15 ค่า = 3 ให้หาค

  16. หาตัวแรกในลำดับเลขคณิตที่เป็นตัวคูณของจำนวนเฉพาะที่กำหนดใน C++

    แนวคิด ได้รับพจน์แรก (A) และความต่างร่วม (d) ของลำดับเลขคณิต และจำนวนเฉพาะ (P) ให้หาตำแหน่งของพจน์แรกในลำดับเลขคณิตที่เป็นตัวคูณของจำนวนเฉพาะ P อินพุต A = 3, d = 4, P = 5 เอาต์พุต 3 คำอธิบาย พจน์ที่ 4 ของลำดับเลขคณิตที่กำหนดเป็นตัวคูณของจำนวนเฉพาะ 5 พจน์แรก = 3 พจน์ที่สอง = 3+4 = 7 พจน์ที่สาม = 3

  17. หาตัวประกอบ 4 ตัวของ N ผลคูณมากสุด ผลรวมเท่า N - เซต 2 ใน C++

    แนวคิด ได้รับจำนวนเต็ม N ให้หาตัวประกอบทั้งหมดของ N และพิมพ์ผลคูณของตัวประกอบ 4 ตัวของ N ที่ทำให้: ผลรวมของตัวประกอบ 4 ตัวเท่ากับ N ผลคูณของตัวประกอบ 4 ตัวมากที่สุด หากไม่สามารถหาตัวประกอบ 4 ตัวได้ ให้พิมพ์ Not possible หมายเหตุ: ตัวประกอบทั้ง 4 ตัวสามารถเท่ากันได้เพื่อให้ผลคูณมากที่สุด อินพุต N

  18. หาตัวประกอบ 4 ตัวของ N ที่ผลคูณมากที่สุดและผลรวมเท่ากับ N ใน C++

    แนวคิด ได้รับจำนวนเต็ม N ให้หาตัวประกอบทั้งหมดของ N แล้วพิมพ์ผลคูณของตัวประกอบ 4 ตัวของ N ที่ทำให้: ผลรวมของตัวประกอบ 4 ตัวเท่ากับ N ผลคูณของตัวประกอบ 4 ตัวมากที่สุด หากไม่สามารถหาตัวประกอบ 4 ตัวได้ ให้พิมพ์ Not possible หมายเหตุ: ตัวประกอบทั้ง 4 ตัวสามารถเท่ากันได้เพื่อให้ผลคูณมากที่สุด อินพุต 2

  19. หาตัวเลขที่หายไป 4 ตัวในอาร์เรย์ที่มีสมาชิก 1 ถึง N ใน C++

    แนวคิด ได้รับอาร์เรย์ของจำนวนเต็มที่ไม่ซ้ำกัน โดยแต่ละจำนวนอยู่ในช่วง [1, N] ขนาดอาร์เรย์คือ (N-4) และไม่มีสมาชิกซ้ำ ดังนั้นมีตัวเลข 4 ตัวจาก 1 ถึง N ที่หายไป ให้หาตัวเลขที่หายไป 4 ตัวนี้เรียงลำดับ อินพุต arr[] = {3, 6, 7, 4, 10} เอาต์พุต 1 2 5 8 9 อินพุต arr[] = {2, 8, 4, 13, 6, 11, 9, 5, 10} เ

  20. หาจุด 4 จุดที่สร้างเป็นสี่เหลี่ยมจัตุรัสขนานกับแกน x และ y ใน C++

    แนวคิด ได้รับคู่จุด n คู่ ให้หาจุด 4 จุดที่สร้างเป็นสี่เหลี่ยมจัตุรัสซึ่งด้านขนานกับแกน x และ y มิฉะนั้นแสดง No such square หากมีหลายสี่เหลี่ยม ให้เลือกที่มีพื้นที่มากที่สุด อินพุต n = 6, points = (2, 2), (5, 5), (4, 5), (5, 4), (2, 5), (5, 2) เอาต์พุต Side of the square is: 3, points of the squar

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:196/301  20-คอมพิวเตอร์/Page Goto:1 190 191 192 193 194 195 196 197 198 199 200 201 202