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

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 5 ตัวคือ b, p, f, h และ c มีเบอร์เกอร์ 2 ประเภท: แฮมเบอร์เกอร์และชิกเกอร์เบอร์เกอร์ แฮมเบอร์เกอร์ต้องการขนมปัง 2 ชิ้นและเนื้อวัว 1 ชิ้น ชิกเกอร์เบอร์เกอร์ต้องการขนมปัง 2 ชิ้นและอกไก่ 1 ชิ้น มีขนมปัง b ชิ้น เนื้อวัว p ชิ้น อกไก่ f ชิ้น ขายแฮมเบอร์เกอร์ราคา h บาท ชิก

  2. โปรแกรม C++ นับขั้นตอนน้อยที่สุดทำให้ผลรวมและผลคูณไม่เป็นศูนย์

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ A n องค์ประกอบ ใน 1 ขั้นตอน สามารถบวก 1 เข้ากับองค์ประกอบใดก็ได้ ถ้าผลรวมหรือผลคูณของทุกองค์ประกอบเท่ากับ 0 สามารถทำขั้นตอนเพิ่มได้ ต้องการนับขั้นตอนน้อยที่สุดทำให้ทั้งผลรวมและผลคูณต่างจาก 0 ตัวอย่าง: A = [-1, 0, 0, 1] ผลลัพธ์คือ 2 เพราะผลรวมและผลคูณเป็น 0 บวก 1

  3. โปรแกรม C++ หาจำนวนช็อกโกแลตสูงสุดที่ซื้อได้ด้วยเงิน K บาท

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ A n องค์ประกอบ และค่า l, r, k อมลอยากซื้อช็อกโกแลต ไม่ซื้อที่แพงเกิน r และไม่ซื้อที่ถูกกว่า l ร้านมีช็อกโกแลต n แท่ง ราคาใน A ต้องการใช้เงินสูงสุด k บาท ต้องการหาจำนวนช็อกโกแลตสูงสุดที่ซื้อได้ ตัวอย่าง: A = [1, 2, 3, 4, 5, 6]; l = 3; r = 5; k = 10 ผลลัพธ์คือ 2 เ

  4. โปรแกรม C++ หาจำนวนครั้งน้อยที่สุดทาสีแถว/คอลัมน์ให้เซลล์เป้าหมายเป็นสีดำ

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข r, c และกริดขนาด n x m บางเซลล์เป็นสีดำ ส่วนที่เหลือสีขาว ใน 1 ครั้ง สามารถเลือกเซลล์ดำบางเซลล์ และทำได้เพียงอย่างใดอย่างหนึ่ง: ทาสีดำทั้งแถวของเซลล์นั้น, หรือ ทาสีดำทั้งคอลัมน์ของเซลล์นั้น ต้องการหาจำนวนครั้งน้อยที่สุดเพื่อทำให้เซลล์ในแถว r และคอลัมน์ c เป็นสีดำ

  5. โปรแกรม C++ นับตัวอักษรที่เหลือหลังพิมพ์ n ตัวอักษรในโปรแกรมขี้เกียจ

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ A n องค์ประกอบ และค่า c มีโปรแกรมเขียนข้อความขี้เกียจ ถ้าไม่พิมพ์ต่อเนื่อง c วินาที ตัวอักษรที่เขียนไว้จะหายหมด A[i] คือเวลาที่พิมพ์ตัวอักษรตัวที่ i ต้องการหาจำนวนตัวอักษรที่เหลือบนหน้าจอหลังพิมพ์ครบ n ตัว ตัวอย่าง: A = [1, 3, 8, 14, 19, 20]; c = 5 ผลลัพธ์คือ 3

  6. โปรแกรม C++ หาเวลานานที่สุดไม่เกิน T ในการแก้โจทย์

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ A N องค์ประกอบ และตัวเลข T พิจารณาอมลจะเข้าร่วมการแข่งขันเขียนโปรแกรม ระยะเวลา T นาที มีโจทย์ N ข้อ ใช้เวลา A[i] นาทีแก้ข้อ i เขาจะเลือกโจทย์ 0 ข้อขึ้นไป ให้เวลารวมไม่เกิน T ต้องการหาเวลานานที่สุดที่เป็นไปได้สำหรับชุดโจทย์ที่เลือก ตัวอย่าง: T = 17; A = [2, 3, 5,

  7. โปรแกรม C++ นับฐานที่แทนค่าสตริงไม่เกิน M

    คำอธิบายปัญหา = d+1 และนำ S มาตีความเป็นเลขฐาน n ตัวอย่าง: S = 999; M = 1500 ผลลัพธ์คือ 3 เพราะ: ฐาน 10: 999 ฐาน 11: 1197 ฐาน 12: 1413 แค่ 3 ค่านี้ที่ได้และไม่เกิน 1500 ขั้นตอนการแก้ปัญหา ถ้าความยาว S เท่ากับ 1: ถ้าค่าตัวเลขของ S M / mid: v := M + 1 มิฉะนั้น: v := v * mid + (c - 0)

  8. โปรแกรม C++ หาจำนวนเต็มใกล้ที่สุดที่ GCD กับผลรวมหลักมากกว่า 1

    คำอธิบายปัญหา 1 ตัวอย่าง: N = 31 ผลลัพธ์คือ 33 เพราะ GCD(31, 3+1)=1, GCD(32, 3+2)=1, GCD(33, 3+3)=3 ขั้นตอนการแก้ปัญหา 0: jml := jml + x mod 10 x := x / 10 ถ้า GCD(i, jml) != 1: คืนค่า i คืนค่า 0 ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using namespace std;

  9. โปรแกรม C++ หาผู้ชนะเกมทาสีเซลล์บนกราฟ

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ A และ B ทั้งคู่ N องค์ประกอบ พิจารณาเกมบนกระดานเซลล์ 1 ถึง N มีถนน N-1 เส้น เนื่องจากเส้นที่ i เชื่อม A[i] กับ B[i] ทุกเซลล์เข้าถึงกันได้ เริ่มต้นเซลล์ 1 สีดำ เซลล์ N สีขาว อื่นๆ ไม่มีสี อมลเล่นก่อน สลับกันเล่น อมลเลือกเซลล์ว่างติดเซลล์ดำ ทาสีดำ บีม่าลเลือกเซลล์ว

  10. โปรแกรม C++ สร้างกราฟที่มีคู่โหนดระยะ 2 จำนวน K คู่

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 2 ตัวคือ N และ K พิจารณากราฟไม่มีทิศทาง N โหนด โหนดต้องเงื่อนไข: กราฟเรียบง่ายและเชื่อมต่อได้ โหนดเลข 1 ถึง N M เส้นขอบ ขอบที่ i เชื่อม U[i] กับ V[i] ความยาว 1 มีคู่โหนด (i, j) ที่ i < j ซึ่งระยะสั้นที่สุดระหว่างกันคือ 2 จำนวน K คู่พอดี ถ้ามีกราฟดังกล่าว ให้สร้าง

  11. โปรแกรม C++ หาตัวเลขในช่วงที่ทุกหลักต่างกัน

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 2 ตัวคือ l และ r ต้องการหาจำนวนเต็ม x ที่อยู่ระหว่าง l และ r (รวมทั้งสองข้าง) และทุกหลักใน x ต่างกันทั้งหมด ตัวอย่าง: l = 211; r = 230 ผลลัพธ์คือ 213 ขั้นตอนการแก้ปัญหา สำหรับ k := l ถึง r: h := แปลง k เป็นสตริง กำหนดเซต s สำหรับ i := 0 ถึง ความยาว h

  12. โปรแกรม C++ หาจุดจากสองช่วงที่ไม่ตรงกัน

    คำอธิบายปัญหา สมมติว่าเรามีช่วง 2 ช่วง (l1, r1), (l2, r2) แทนเส้น 2 เส้นบนแกน x โดย l1 < r1 และ l2 < r2 เส้นเหล่านี้อาจทับซ้อน ทับกัน หรือตรงกัน ต้องการหาตัวเลข a และ b ที่ a อยู่ในช่วง (l1, r1) และ b อยู่ใน (l2, r2) และ a และ b ต่างกัน ตัวอย่าง: l1 = 2; r1 = 6; l2 = 3; r2 = 4 ผลลัพธ์คือ a = 3, b

  13. โปรแกรม C++ นับวิธีทาสีบล็อกด้วยเงื่อนไข 2 ข้อ

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 3 ตัวคือ N, M และ K มีบล็อก N ชิ้นจัดเรียงเป็นแถว มี 2 วิธีการทาสี: แต่ละบล็อกใช้สี 1 ใน M สี (ไม่บังคับใช้หมด) มีคู่บล็อกติดกันที่ทาสีเหมือนกันได้สูงสุด K คู่ ถ้าคำตอบใหญ่เกิน ให้คืนค่า mod 998244353 ตัวอย่าง: N = 3; M = 2; K = 1 ผลลัพธ์คือ 6 วิธี คือ 112, 121,

  14. โปรแกรม C++ ตรวจสอบการแจกถุงขนมให้เพื่อน 2 คนได้จำนวนเท่ากัน

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ A 4 องค์ประกอบ มีถุงขนม 4 ถุง ถุงที่ i มีขนม A[i] ชิ้น ต้องการให้แต่ละถุงแก่เพื่อน 2 คน ต้องการทราบว่าสามารถแจกได้ไหมที่แต่ละคนได้ขนมรวมเท่ากัน ตัวอย่าง: A = [1, 7, 11, 5] ผลลัพธ์คือ True เพราะให้ถุงที่ 1 และ 3 แก่คนแรก (1+11=12) และถุงที่ 2 และ 4 แก่คนที่ 2 (7+

  15. โปรแกรม C++ นับวิธีเชื่อมคอมพิวเตอร์กับซ็อกเก็ตให้สายสั้นที่สุด

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ A และ B ทั้งคู่มี N องค์ประกอบ พิจารณาว่ามีคอมพิวเตอร์ N เครื่องและซ็อกเก็ต N ตัว พิกัดของคอมพิวเตอร์ตัวที่ i คือ A[i] และซ็อกเก็ตตัวที่ i คือ B[i] พิกัด 2N ตัวนี้ต่างกันทั้งหมด ต้องการเชื่อมคอมพิวเตอร์แต่ละเครื่องกับซ็อกเก็ต 1 ตัว สายแต่ละเส้นเชื่อมได้สูงสุด 1 ค

  16. โปรแกรม C++ ตรวจสอบว่าธนบัตร 500 บาท K ใบพอจ่าย X บาทหรือไม่

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 2 ตัวคือ K และ X พิจารณาว่าอมลมีธนบัตร 500 บาท K ใบ ต้องการตรวจสอบว่ามูลค่ารวมพอจ่าย X บาทหรือไม่ ตัวอย่าง: K = 2; X = 900 ผลลัพธ์คือ True เพราะ 2*500 = 1000 ซึ่งไม่น้อยกว่า 900 ขั้นตอนการแก้ปัญหา = x: คืนค่า true มิฉะนั้น: คืนค่า false ตัวอย่างโค้ด C++ = x){

  17. โปรแกรม C++ หาความต่างน้อยที่สุดของขนมปังปิ้งระหว่างคนได้มากและน้อย

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 2 ตัวคือ N และ K ต้องการแจกขนมปังปิ้ง N ชิ้นให้ K คน ต้องการหาความต่างน้อยที่สุดระหว่างจำนวนขนมปังปิ้งที่คนได้มากที่สุดกับคนได้น้อยที่สุด ตัวอย่าง: N = 7; K = 3 ผลลัพธ์คือ 1 เพราะแจกได้ 2, 2, 3 ความต่างคือ 1 ขั้นตอนการแก้ปัญหา ถ้า n mod k เท่ากับ 0: คืนค่า 0 มิฉะ

  18. โปรแกรม C++ หาสตริงหลังเพิ่ม 'a' ให้ไม่เป็นพาลินโดรม

    คำอธิบายปัญหา สมมติว่าเรามีสตริง S ประกอบด้วยตัวอักษรภาษาอังกฤษพิมพ์เล็ก ต้องแทรกตัวอักษร a เข้าไปใน S ทั้งหมด 1 ตัว หลังแทรกแล้วถ้าสามารถทำให้ S ไม่ใช่พาลินโดรมได้ ให้คืนสตริงนั้น มิฉะนั้นคืน impossible ตัวอย่าง: S = bpapb ผลลัพธ์คือ bpaapb ขั้นตอนการแก้ปัญหา ถ้า S + a ไม่ใช่พาลินโดรม: คืนค่า S

  19. โปรแกรม C++ แปลงตัวอักษรตัวที่ k ให้เป็นตัวพิมพ์เล็ก

    คำอธิบายปัญหา สมมติว่าเรามีสตริง S ยาว N ตัวอักษร S ประกอบด้วย A, B, C เท่านั้น มีจำนวนเต็ม K อีกตัว ต้องการพิมพ์ S หลังจากแปลงตัวอักษรตัวที่ K ให้เป็นตัวพิมพ์เล็ก ตัวอย่าง: K = 2; S = AABACC ผลลัพธ์คือ AaBACC ขั้นตอนการแก้ปัญหา S[K - 1] = S[K - 1] + 32 คืนค่า S ตัวอย่างโค้ด C++ #include <bit

  20. โปรแกรม C++ คำนวณเส้นรอบวงบ่อน้ำวงกลมจากรัศมี R

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข R แทนรัศมีของบ่อน้ำ ต้องการหาเส้นรอบวงของบ่อน้ำนี้ ตัวอย่าง: R = 73 ผลลัพธ์คือ 458.67252742410977361942 ขั้นตอนการแก้ปัญหา res := r * 2 * cos⁻¹(-1) คืนค่า res ตัวอย่างโค้ด C++ #include<bits/stdc++.h> using namespace std; double solve(int r){ double re

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:292/301  20-คอมพิวเตอร์/Page Goto:1 286 287 288 289 290 291 292 293 294 295 296 297 298