

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Ý tưởng
- Viết một hàm isPrime để kiểm tra xem một số nguyên n có phải là số nguyên tố hay không:
+ Nếu số nguyên n nhỏ hơn 2 thì trả về False
+ Nếu lớn hơn hoặc bằng 2 thì chạy một vòng lặp for với biến đếm là i từ 2 đến n - 1. Với mỗi lần lặp, nếu n mod i bằng 0 thì trả về False. Ngược lại, sau khi vòng lặp kết thúc mà không có số i nào là ước của n thì trả về True.
- Chương trình chính:
+ Tạo một biến s để lưu tổng và c để lưu số các số nguyên tố
+ Chạy một vòng lặp for có biến đếm là i từ m đến n. Nếu isPrime(i) trả về True hay i là số nguyên tố thì cộng thêm vào biến s và tăng c lên thêm một đơn vị
+ Kiểm tra nếu c = 0 tức không có số nguyên tố nào nằm giữa m và n ngược lại thì in s/c làm tròn còn hai chữ số thập phân
Code
def isPrime(n):
if n < 2:
return False
else:
for i in range(2, n):
if n % i == 0:
return False
return True
m,n = map(int, input().split())
s = 0
c = 0
for i in range(m, n+1):
if isPrime(i):
s += i
c += 1
if c == 0:
print("-")
else:
print("{:.2f}".format(s/c))
Hãy giúp mọi người biết câu trả lời này thế nào?

# Ngán ý tưởng ghê hà
Ý tưởng :
`-` Viết 1 hàm def xét số nguyên tố
`+` Nếu `n<2` thì trả về `False`, ngược lại trả về True ( mới bắt đầu thôi )
`+` Cho chạy vòng lặp từ 2 đến `n-1`, nếu 1 số chia hết cho n thì trả về False, kèm lệnh Break ( thoát câu lệnh )
`-` Nhập 2 số `m,n `
`-` Tạo biến đếm, biến tổng
`-` Chạy vòng lặp từ `m->n`, xét nếu hàm của số `i` trả về True thì tăng biến đếm lên 1. cộng giá trị nguyên tố vào tổng
`-` Xuất `(\text{tổng})/(\text{đếm})` và dùng hàm Round
def prime(n):
ok=False
if n< 2 :
ok=False
else :
ok=True
for i in range(2,n):
if n%i==0:
ok=False
break
return ok
m,n=map(int, input().split(' '))
d=s=0
for i in range(m,n+1):
if prime(i):
d+=1
s+=i
print(round(s/d,2))
Hãy giúp mọi người biết câu trả lời này thế nào?

Bảng tin
5599
4859
3498
Em dùng hàm Round k ổn a ơi :((
64
2715
91
cám ơn bạn nhá