Viết hàm đếm số lượng số nguyên tố nhỏ hơn 100 trong mảng

Đề bài:Viết hàm đếm số lượng số nguyên tố nhỏ hơn 100 trong mảng?

Phân tích bài toán:

  • Input :1 mảng và các a[i].
  • Output các số nguyên tố <100

Ý tưởng: Số nguyên tố là số có ước là 1 và chính nó.

  • Nếu a[i]==1 thì loại
  • Nếu 1<a[i]<4 thì chọn
  • Nếu a[i]>4 thì ta đếm số lượng các ước số của nó,nếu không có giá trị nào khác ngoài 1 và chính nó thì đấy là số nguyên tố.
  • Nếu a[i]>100 loại

Thuật toán:

  1. Nhập các giá trị cho các a[i] và biến đếm s=0.
  2. i=2;nếu i>=n thì kết thúc chương trình.
  3. Nếu a[i]==1 tới bước 9.
  4. Nếu 1<a[i]<4 thì s+=1.
  5. nếu a[i]>4 tới bước 6.
  6. cho biến i chạy từ 2 đến  int(sqrt(a[i])) và đếm số ước số của a[i].
  7. nếu số ước số của a[i]=0 thì là số nguyên tố.
  8. kiểm tra a[i] có lớn hơn 100 hay không,nếu không thì s ++
  9. i+=1 và quay lại bước 3.

Sau đây là bài code.

#include<iostream>

#include<math.h>

using namespace std;

int ngto(int a){

for(int i=2;i<=int(sqrt(a));i++){

if(a%i==0) return 1;

}

 

}

int main(){

int n,i,s=0;

cout<<“Nhap n : “;

cin>>n;

int a[n];

for(i=0;i<n;i++){

cout<<“a[“<<i<<“]:”;

cin>>a[i];

}

for(i=0;i<n;i++){

if(a[i]==1){

continue;

}

if(a[i]<4){

s++;

}else{

if(ngto(a[i])==0 and a[i]<100){

s++;

}

}

 

}

cout<<“So luong : “<<s;

return 0;

}

Xong rồi đó,Mình xin kết thúc bài tập tại đây,mời bạn nếu câu hỏi và ý kiến phản biện.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *