Bài tập  /  Bài đang cần trả lời

Lập trương trình nhập vào 1 mảng gồm N phần tử. In lên màn hình mảng vừa nhập, đếm xem có bao nhiêu số nguyên tố và in lên màn hình các số nguyên tố đó

Lập trương trình nhập vào 1 mảng gồm N phần tử. In lên màn hình mảng vừa nhập, đếm xem có bao nhiêu số nguyên tố và in lên màn hình các số nguyên tố đó --Nhanh hộ em với ạ em cần gấp--
1 Xem trả lời
Hỏi chi tiết
96
qcuongg
Python hay pascal hay c++
08/04 19:36:44
Shoul Drake
qcuongg Pascal ạ
08/04 19:42:14
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là đoạn code Python để thực hiện yêu cầu của bạn:

```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True

def count_and_print_primes(arr):
primes = []
count = 0
for num in arr:
if is_prime(num):
primes.append(num)
count += 1

print("Mảng vừa nhập là:", arr)
print("Số lượng số nguyên tố trong mảng là:", count)
print("Các số nguyên tố trong mảng là:", primes)

# Nhập mảng từ người dùng
N = int(input("Nhập số phần tử của mảng: "))
arr = []
for i in range(N):
num = int(input(f"Nhập phần tử thứ {i+1}: "))
arr.append(num)

# Gọi hàm đếm và in số nguyên tố
count_and_print_primes(arr)
```

Bạn chỉ cần sao chép đoạn code trên và chạy trong môi trường Python để nhập mảng và xem kết quả. Chúc bạn thành công!
1
1
qcuongg
08/04 19:45:56
+5đ tặng
program SoNguyenTo;

const
  KICH_THUOC_MAX = 100;

var
  mang: array[1..KICH_THUOC_MAX] of Integer;
  soLuongPhanTu, i, j: Integer;
  soLuongSoNguyenTo: Integer;

procedure NhapMang();
begin
  Write('Nhap so phan tu cua mang: ');
  ReadLn(soLuongPhanTu);
  WriteLn('Nhap cac phan tu cua mang:');
  for i := 1 to soLuongPhanTu do
  begin
    Write('mang[', i, '] = ');
    ReadLn(mang[i]);
  end;
end;

function KiemTraSoNguyenTo(so: Integer): Boolean;
var
  k: Integer;
begin
  if so <= 1 then
    KiemTraSoNguyenTo := False
  else if so <= 3 then
    KiemTraSoNguyenTo := True
  else if (so mod 2 = 0) or (so mod 3 = 0) then
    KiemTraSoNguyenTo := False
  else
  begin
    k := 5;
    while k * k <= so do
    begin
      if (so mod k = 0) or (so mod (k + 2) = 0) then
      begin
        KiemTraSoNguyenTo := False;
        Exit;
      end;
      k := k + 6;
    end;
    KiemTraSoNguyenTo := True;
  end;
end;

procedure InCacSoNguyenToTrongMang();
begin
  WriteLn('Cac so nguyen to trong mang la:');
  for i := 1 to soLuongPhanTu do
  begin
    if KiemTraSoNguyenTo(mang[i]) then
      Write(mang[i], ' ');
  end;
  WriteLn;
end;

function DemSoNguyenToTrongMang(): Integer;
begin
  soLuongSoNguyenTo := 0;
  for i := 1 to soLuongPhanTu do
  begin
    if KiemTraSoNguyenTo(mang[i]) then
      soLuongSoNguyenTo := soLuongSoNguyenTo + 1;
  end;
  DemSoNguyenToTrongMang := soLuongSoNguyenTo;
end;

begin
  NhapMang();
  soLuongSoNguyenTo := DemSoNguyenToTrongMang();
  WriteLn('So luong so nguyen to trong mang la: ', soLuongSoNguyenTo);
  InCacSoNguyenToTrongMang();
end.
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×