จงเขียนโปรแกรมที่รับจำนวนเต็ม N เพื่อแสดงตารางสูตรคูณของแม่ 2 จนถึงแม่ N ดังรูป โดยขอแสดงผลการคูณด้วย 1 ถึง 5 ก็พอ กำหนดให้ใช้แค่ 4 ช่องเพื่อแสดงผลแต่ละจำนวน โดยแสดงจำนวนแบบชิดขวา (ดูรูปประกอบ) สามารถใช้ฟังก์ชัน left_pad ที่เขียนให้แล้ว และให้เขียนวงวนในโปรแกรมด้วยคำสั่ง while เท่านั้น (ห้ามใช้ for)
___inp___ = ["6"]
def input():
t = ___inp___.pop(0)
___inp___.append(t)
return t
def left_pad(n, k):
# แปลง n เป็นสตริงที่ยาว k โดยเติมช่องว่างทางซ้าย
# left_pad(12, 4) ได้ " 12"
return (" "*k +str(n))[-k:]
N = int(input())
def left_pad(n, k):
return (" "*k +str(n))[-k:]
N = int(input())
k = 2
while k <= N:
m = 1
line = ""
while m <= 5:
line += left_pad(k*m, 4)
m += 1
print(line)
k += 1
Ex().check_not(has_code("for "),msg = "ข้อนี้ห้ามใช้ for ให้ใช้แต่ while")
Ex().has_equal_output(pre_code = "___inp___[0] = 30", incorrect_msg = "ยังได้ผลไม่ต้องตามโจทย์")
เขียนโปรแกรมตามผังงานในรูป (ให้ใช้คำสั่ง while สำหรับวงวนในข้อนี้ ไม่ให้ใช้ for)
___inp___ = ["20"]
def input():
t = ___inp___.pop(0)
___inp___.append(t)
return t
N = int(input())
print(prime)
N = int(input())
prime = [True]*(N+1)
prime[0] = prime[1] = False
p = 2
while p*p <= N:
if prime[p] == True:
i = 2*p
while i <= N:
prime[i] = False
i += p
p += 1
print(prime)
Ex().check_not(has_code("for "),msg = "ข้อนี้ห้ามใช้ for ให้ใช้แต่ while")
Ex().has_equal_output(pre_code = "___inp___[0] = 32", incorrect_msg = "ยังได้ผลไม่ต้องตามผังงาน")