Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. หาเลข Catalan ลำดับที่ n ใน Python

    Catalan Numbers: ลำดับจำนวนธรรมชาตินิยามด้วยสูตรเวียนเกิด c₀ = 1, cₙ₊₁ = Σ cᵢ cₙ₋ᵢ₋₁ (i=0..n) สำหรับ n ≥ 0 ค่าแรกๆ: 1, 1, 2, 5, 14, 42, 132, 429... วิธี 1: Recursion def catalan(n): if n <= 1: return 1 res = 0 for i in range(n): res += catalan(i) * catalan(n-i-1) ret

  2. โปรแกรม Python พิมพ์ชุดตัวเลขโดยไม่ใช้ Loop (Recursion)

    โจทย์: กำหนด N และ K ลบ K จาก N จน N ≤ 0 แล้วบวก K กลับไปจนกลับเป็น N เดิม ตัวอย่าง: N=10, K=4 → 10 6 2 -2 2 6 10 อัลกอริทึม (Recursion) เรียกฟังก์ชันซ้ำ ลบ K ทุกครั้ง จน N ≤ 0 เมื่อ N ≤ 0 สลับ flag ให้บวก K แทน หยุดเมื่อ N กลับเป็นค่าเดิมและ flag เป็น False โค้ดตัวอย่าง def PrintNumber(N, Orig

  3. โปรแกรม Python หาผลคูณของเฉพาะตัวประกอบ (Unique Prime Factors) ของเลข

    โจทย์: กำหนดเลข n หาผลคูณของเฉพาะตัวประกอบที่ไม่ซ้ำกันทั้งหมด ตัวอย่าง: n=11 → ผลคูณ = 11 (เพราะ 11 เป็นเฉพาะตัวประกอบเพียงตัวเดียว) วิธี 1: Brute Force (for loop + prime check) def productPrimeFactors(n): product = 1 for i in range(2, n+1): if n % i == 0: isPrime = 1

  4. โปรแกรม Python ลบตัวอักษรลำดับที่ n ออกจากสตริง

    โจทย์: กำหนดสตริง ลบตัวอักษรตำแหน่ง i (index เริ่มที่ 0) แล้วแสดงผล ดัชนีของ tutorialspoint: T u t o r i a l s p o i n t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 โค้ดตัวอย่าง def remove(string, i): a = string[:i] b = string[i+1:] return a + b if __name__ == __main__: string = Tutorialspoin

  5. Selection Sort ใน Python

    Selection Sort: อัลกอริทึมจัดเรียงโดยหาค่าน้อยที่สุดจากส่วนที่ยังไม่เรียง แล้วย้ายไปไว้หน้า สร้าง 2 ส่วนย่อย: ส่วนที่เรียงแล้ว และส่วนที่ยังไม่เรียง โค้ดตัวอย่าง A[j]: min_idx = j # swap A[i], A[min_idx] = A[min_idx], A[i] for i in range(len(A)): print(A[i]) ผลลัพธ์ a i

  6. ดอกเบี้ยธรรมดา (Simple Interest) ใน Python

    คำนวณดอกเบี้ยธรรมดาใน Python 3.x สูตร: Simple Interest = (P × T × R) / 100 P = เงินต้น (Principal) T = เวลา (Time) R = อัตราดอกเบี้ย (Rate) ตัวอย่าง: P=1000, R=1, T=2 → SI = 20.0 โค้ดตัวอย่าง P = 1000 R = 1 T = 2 SI = (P * R * T) / 100 print(simple interest is, SI) ผลลัพธ์ simple interest is 20

  7. โปรแกรม Python หาเลข K หลักที่เล็กที่สุดที่หาร X ลงตัว

    โจทย์: กำหนด n (ตัวหาร) และ d (จำนวนหลัก) หาเลข d หลักที่เล็กที่สุดที่หาร n ลงตัว แนวทาง หา MIN = 10^(d-1) (เลข d หลักที่เล็กที่สุด) ถ้า MIN % n == 0 คำตอบคือ MIN มิฉะนั้น คำตอบ = (MIN + n) - ((MIN + n) % n) เพราะในช่วง [MIN, MIN+n] จะมีตัวหาร n ลงตัวอยู่หนึ่งตัว โค้ดตัวอย่าง def answer(n, d):

  8. โปรแกรม Python หาผลรวมกำลังสองของ n จำนวนธรรมชาติแรก

    โจทย์: กำหนดจำนวนเต็มบวก N หาผลรวม 1² + 2² + 3² + ... + N² มี 2 วิธี: 1) คูณบวกวนลูป 2) ใช้สูตรคณิตศาสตร์ วิธี 1: Multiplication & Addition (Loop) def sqsum(n): sm = 0 for i in range(1, n+1): sm += pow(i, 2) return sm n = 5 print(sqsum(n)) ผลลัพธ์ 55 วิธี 2: สูตรคณิตศาสตร์ Su

  9. โปรแกรม Python บวกเลขสองจำนวน (Bitwise Adder)

    โจทย์: บวกเลขใหญ่ 2 จำนวน แสดงผล วิธีตรงไปตรงมา: ใช้ + หรือ sum() แนวทาง Bitwise Adder: ใช้หลักการ Full Adder คำนวณ Sum และ Carry ด้วย Bitwise operators Carry = x & y (bitwise AND) Sum = x ^ y (bitwise XOR) Shift carry << 1 ทำซ้ำจน carry = 0 โค้ดตัวอย่าง def Add(x, y): while y != 0:

  10. โปรแกรม Python ตรวจสอบเลข Armstrong (Armstrong Number)

    โจทย์: กำหนดจำนวนเต็ม n ตรวจสอบว่าเป็น Armstrong Number หรือไม่ Armstrong Number จำนวนเต็มบวกที่ผลรวมของแต่ละหลักยกกำลัง n (จำนวนหลัก) เท่ากับตัวเลขเอง abcd... = a^n + b^n + c^n + d^n + ... ตัวอย่างตรวจสอบ 3 หลัก (order 3) แก้ไขเลข 3 ในโค้ดเพื่อเช็ค order อื่น โค้ดตัวอย่าง 0: digit = temp %

  11. โปรแกรม Python ตรวจสอบว่าสตริงมีตัวอักษรซ้ำหรือไม่ (Unique Characters)

    โจทย์: กำหนดสตริง ตรวจสอบว่ามีตัวอักษรซ้ำหรือไม่ (Unique characters) แนวทาง สร้าง boolean array ขนาด 128 (ASCII) flag[i] = True ถ้าตัวอักษร i ปรากฏแล้ว ถ้าพบตัวอักษรซ้ำ (flag[val] เป็น True) คืนค่า False ทันที 256 คืนค่า False ทันที (pigeonhole principle) โค้ดตัวอย่าง 256: return False

  12. โปรแกรม Python ตรวจสอบว่า Array เป็น Monotonic หรือไม่

    โจทย์: กำหนดอาร์เรย์ ตรวจสอบว่าเป็น Monotonic (เพิ่มขึ้นต่อเนื่องหรือลดลงต่อเนื่อง) หรือไม่ นิยามทางคณิตศาสตร์: - เพิ่มต่อเนื่อง: สำหรับทุก i ≤ j, A[i] ≤ A[j] - ลดต่อเนื่อง: สำหรับทุก i ≤ j, A[i] ≥ A[j] ตรวจสอบโดยดูคู่ติดกันทุกคู่ ว่าเป็นเพิ่มหรือลดอย่างใดอย่างหนึ่งตลอด โค้ดตัวอย่าง def isMonoton

  13. โปรแกรม Python ตรวจสอบว่าสตริงเป็น Number Palindrome หรือไม่

    โจทย์: กำหนดสตริง ตรวจสอบว่าเป็น Palindrome (อ่านจากหน้าหลังได้เหมือนกัน) หรือไม่ วิธี: ใช้ slicing [::-1] กลับสตริง เปรียบเทียบกับต้นฉบับ พร้อม exception handling ตรวจสอบว่าเป็นตัวเลขจริงๆ โค้ดตัวอย่าง num = input(Enter any number: ) try: val = int(num) if num == str(num)[::-1]: p

  14. โปรแกรม Python ตรวจสอบว่าสตริงเป็น Pangram หรือไม่

    โจทย์: กำหนดสตริง ตรวจสอบว่าเป็น Pangram หรือไม่ Pangram คือประโยคที่มีตัวอักษรอังกฤษครบทุกตัว (a-z) ใช้ลูปตรวจสอบทุกตัวอักษรใน alphabet ว่ามีในสตริงหรือไม่ (แปลงเป็น lowercase ก่อน) โค้ดตัวอย่าง import string def ispangram(str): alphabet = abcdefghijklmnopqrstuvwxyz for char in alphabet:

  15. โปรแกรม Python ตรวจสอบว่าสตริงว่างหรือไม่

    โจทย์: กำหนดสตริง ตรวจสอบว่าว่างหรือไม่ สตริงใน Python เป็น immutable ต้องระวังเวลาจัดการ มี 2 วิธี วิธี 1: ใช้ len() test_str1 = test_str2 = @@@ if len(test_str2) == len(test_str1): print(Yes) else: print(No) ผลลัพธ์ No วิธี 2: ใช้ Equality Operator (==) test_str1 = test_str2 = @@@ if

  16. โปรแกรม Python ตรวจสอบว่า สามารถสร้างเลขหาร 3 ลงตัว จากหลักของอาร์เรย์ได้หรือไม่

    โจทย์: กำหนดอาร์เรย์จำนวนเต็ม ตรวจสอบว่าสามารถสร้างจำนวนเต็มจากหลักของตัวเลขทั้งหมดได้ที่หาร 3 ลงตัวหรือไม่ หลักการ: เลขหาร 3 ลงตัว ถ้าผลรวมของหลักเลขหาร 3 ลงตัว ฟังก์ชันรับอาร์เรย์และความยาว คำนวณ modulo 3 ของผลรวม โค้ดตัวอย่าง def isPossibleToMakeDivisible(arr, n): remainder = 0 for i in

  17. โปรแกรม Python แปลงลิสต์เป็นสตริง

    โจทย์: กำหนดลิสต์ แปลงเป็นสตริง มี 4 วิธี วิธี 1: Concatenation ในสตริงว่าง def listToString(s): str1 = for ele in s: str1 += ele return str1 s = [tutorials, point] print(listToString(s)) ผลลัพธ์ tutorialspoint วิธี 2: ใช้ .join() def listToString(s): str1 = return s

  18. โปรแกรม Python แปลงเลขฐานสิบเป็นเลขฐานสอง (Binary)

    โจทย์: กำหนดเลขฐานสิบ แปลงเป็นเลขฐานสอง มี 2 วิธี วิธี 1: Recursive (เวียนเกิด) 1: DecimalToBinary(num // 2) print(num % 2, end=) if __name__ == __main__: dec_val = 35 DecimalToBinary(dec_val) ผลลัพธ์ 100011 วิธี 2: Built-in bin() def decimalToBinary(n): return bin(n).re

  19. โปรแกรม Python นับจำนวนเลขบวกและลบในลิสต์

    โจทย์: กำหนดลิสต์ นับจำนวนเลขบวกและเลขลบ มี 2 วิธี วิธี 1: Brute-force = 0: pos_count += 1 else: neg_count += 1 print(Positive numbers:, pos_count) print(Negative numbers:, neg_count) ผลลัพธ์ Positive numbers: 3 Negative numbers: 2 วิธี 2: Lambda และ Filter list1 = [1, -9, 15,

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:106/451  20-คอมพิวเตอร์/Page Goto:1 100 101 102 103 104 105 106 107 108 109 110 111 112