การสอบปลายภาค: PART C1

เขียนตอบแต่ละข้อเริ่มด้วยเลขข้อในรูปแบบ <เลขข้อ> เช่น
<1>
พิมพ์คำตอบโปรแกรมข้อที่ 1
...
...
และอย่าลืมกด SUBMIT ด้วย (ส่งได้หลายครั้ง จะตรวจครั้งล่าสุด)

<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาบวกกัน 
  เช่น x0 = [1, 2, 3, 4] จะได้ 
      x1 = [1+2, 2+3, 3+4] = [3, 5, 7]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาบวกกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [3+5, 5+7] = [8, 12]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาบวกกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [8+12] = [20]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([1, 2, 3, 4]) ได้
    [[1, 2, 3, 4], [3, 5, 7], [8, 12], [20]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาบวกกัน 
  เช่น x0 = [1, 2, 3, 4] จะได้ 
      x1 = [1+2, 2+3, 3+4] = [3, 5, 7]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาบวกกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [3+5, 5+7] = [8, 12]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาบวกกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [8+12] = [20]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([1, 2, 3, 4]) ได้
    [[20], [8, 12], [3, 5, 7], [1, 2, 3, 4]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาคูณกัน 
  เช่น x0 = [1, 2, 3, 4] จะได้ 
      x1 = [1*2, 2*3, 3*4] = [2, 6, 12]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาคูณกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [2*6, 6*12] = [12, 72]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาคูณกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [12*72] = [864]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([1, 2, 3, 4]) ได้
    [[1, 2, 3, 4], [2, 6, 12], [12, 72], [864]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาคูณกัน 
  เช่น x0 = [1, 2, 3, 4] จะได้ 
      x1 = [1*2, 2*3, 3*4] = [2, 6, 12]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาคูณกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [2*6, 6*12] = [12, 72]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาคูณกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [12*72] = [864]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([1, 2, 3, 4]) ได้
    [[864], [12, 72], [2, 6, 12], [1, 2, 3, 4]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาลบกัน 
  เช่น x0 = [1, 2, 8, 32] จะได้ 
      x1 = [1-2, 2-8, 8-32] = [-1, -6, -24]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาลบกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [-1--6, -6--24] = [5, 18]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาลบกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [5-18] = [-13]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([1, 2, 8, 32]) ได้
    [[1, 2, 8, 32], [-1, -6, -24], [5, 18], [-13]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาลบกัน 
  เช่น x0 = [1, 2, 8, 32] จะได้ 
      x1 = [1-2, 2-8, 8-32] = [-1, -6, -24]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาลบกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [-1--6, -6--24] = [5, 18]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาลบกัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [5-18] = [-13]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([1, 2, 8, 32]) ได้
    [[-13], [5, 18], [-1, -6, -24], [1, 2, 8, 32]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาหาตัวมาก 
  เช่น x0 = [4, 2, 3, 9] จะได้ 
      x1 = [max(4,2), max(2,3), max(3,9)] = [4, 3, 9]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาหาตัวมาก
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [max(4,3), max(3,9)] = [4, 9]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาหาตัวมาก
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [max(4,9)] = [9]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([4, 2, 3, 9]) ได้
    [[4, 2, 3, 9], [4, 3, 9], [4, 9], [9]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาหาตัวมาก 
  เช่น x0 = [4, 2, 3, 9] จะได้ 
      x1 = [max(4,2), max(2,3), max(3,9)] = [4, 3, 9]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาหาตัวมาก
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [max(4,3), max(3,9)] = [4, 9]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาหาตัวมาก
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [max(4,9)] = [9]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([4, 2, 3, 9]) ได้
    [[9], [4, 9], [4, 3, 9], [4, 2, 3, 9]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาหาตัวน้อย 
  เช่น x0 = [7, 9, 8, 2] จะได้ 
      x1 = [min(7+9), min(9+8), min(8+2)] = [7, 8, 2]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาหาตัวน้อย
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [min(7+8), min(8+2)] = [7, 2]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาหาตัวน้อย
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [min(7+2)] = [2]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([7, 9, 8, 2]) ได้
    [[7, 9, 8, 2], [7, 8, 2], [7, 2], [2]]
<1>
กำหนดให้ x0 เป็นลิสต์ของจำนวนเต็ม
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มาหาตัวน้อย 
  เช่น x0 = [7, 9, 8, 2] จะได้ 
      x1 = [min(7+9), min(9+8), min(8+2)] = [7, 8, 2]
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มาหาตัวน้อย
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = [min(7+8), min(8+2)] = [7, 2]
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มาหาตัวน้อย
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = [min(7+2)] = [2]
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f([7, 9, 8, 2]) ได้
    [[2], [7, 2], [7, 8, 2], [7, 9, 8, 2]]
<1>
กำหนดให้ x0 เป็นลิสต์ของสตริง
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มา "รวม" กัน 
        นิยามการ "รวม" สตริงสองตัวที่ติดกันในลิสต์คือ การนำ
        ตัวอักษรแรกของตัวซ้าย มาต่อกับ ตัวอักษรสุดท้ายของตัวขวา
  เช่น x0 = ['Aa', 'Bb', 'Cc', 'Dd'] จะได้ 
      x1 = ['A'+'b', 'B'+'c', 'C'+'d'] = ['Ab', 'Bc', 'Cd']
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = ['A'+'c', 'B'+'d'] = ['Ac', 'Bd']
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = ['A'+'d'] = ['Ad']
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f(['Aa', 'Bb', 'Cc', 'Dd']) ได้
    [['Aa', 'Bb', 'Cc', 'Dd'], ['Ab', 'Bc', 'Cd'], ['Ac', 'Bd'], ['Ad']]
<1>
กำหนดให้ x0 เป็นลิสต์ของสตริง
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มา "รวม" กัน 
        นิยามการ "รวม" สตริงสองตัวที่ติดกันในลิสต์คือ การนำ
        ตัวอักษรแรกของตัวซ้าย มาต่อกับ ตัวอักษรสุดท้ายของตัวขวา
  เช่น x0 = ['Aa', 'Bb', 'Cc', 'Dd'] จะได้ 
      x1 = ['A'+'b', 'B'+'c', 'C'+'d'] = ['Ab', 'Bc', 'Cd']
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = ['A'+'c', 'B'+'d'] = ['Ac', 'Bd']
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = ['A'+'d'] = ['Ad']
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f(['Aa', 'Bb', 'Cc', 'Dd']) ได้
    [['Ad'], ['Ac', 'Bd'], ['Ab', 'Bc', 'Cd'], ['Aa', 'Bb', 'Cc', 'Dd']]
<1>
กำหนดให้ x0 เป็นลิสต์ของสตริง
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มา "รวม" กัน 
        นิยามการ "รวม" สตริงสองตัวที่ติดกันในลิสต์คือ การนำ
        ตัวอักษรสุดท้ายของตัวซ้าย มาต่อกับ ตัวอักษรแรกของตัวขวา
  เช่น x0 = ['Aa', 'Bb', 'Cc', 'Dd'] จะได้ 
      x1 = ['a'+'B', 'b'+'C', 'c'+'D'] = ['aB', 'bC', 'cD']
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = ['B'+'b', 'C'+'c'] = ['Bb', 'Cc']
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = ['b'+'C'] = ['bC']
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [x0, x1, x2, ..., xk] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f(['Aa', 'Bb', 'Cc', 'Dd']) ได้
    [['Aa', 'Bb', 'Cc', 'Dd'], ['aB', 'bC', 'cD'], ['Bb', 'Cc'], ['bC']]
<1>
กำหนดให้ x0 เป็นลิสต์ของสตริง
- ให้ x1 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x0 มา "รวม" กัน 
        นิยามการ "รวม" สตริงสองตัวที่ติดกันในลิสต์คือ การนำ
        ตัวอักษรสุดท้ายของตัวซ้าย มาต่อกับ ตัวอักษรแรกของตัวขวา
  เช่น x0 = ['Aa', 'Bb', 'Cc', 'Dd'] จะได้ 
      x1 = ['a'+'B', 'b'+'C', 'c'+'D'] = ['aB', 'bC', 'cD']
- ให้ x2 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x1 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x2 = ['B'+'b', 'C'+'c'] = ['Bb', 'Cc']
- ให้ x3 คือลิสต์ที่ได้จากการนำสองตัวติดกันใน x2 มา "รวม" กัน
  ต่อจากตัวอย่างที่แล้ว ได้ x3 = ['b'+'C'] = ['bC']
- แล้วก็ไม่สามารถหา x4 ได้แล้ว เพราะ x3 มีตัวเดียว

จงเขียนฟังก์ชัน f(x0) ที่
- รับ x0 เป็นลิสต์ของจำนวนเต็มมีข้อมูลอย่างน้อย 1 ตัว
- คืนลิสต์ซ้อนลิสต์ [xk, ..., x2, x1, x0] 
  โดยที่ x1, x2, ... เป็นลิสต์ที่หาได้ด้วยวิธีข้างต้น
       xk คือลิสต์ที่เหลือแค่ตัวเดียว

เช่น f(['Aa', 'Bb', 'Cc', 'Dd']) ได้
    [['bC'], ['Bb', 'Cc'], ['aB', 'bC', 'cD'], ['Aa', 'Bb', 'Cc', 'Dd']]