01/10/2018, 00:30
Tìm số nguyên tố trong mảng
xin cao thủ giúp em ?
em có một mảng , tìm số nguyên tố đó trong mảng
xuất ra dãy số nguyên tố đó trong mảng ! tât cả nhập bằng tay
em học c++ ;
dùng mảng và vòng lặp ko dùng hàm
> //
> // main.cpp
> // Sntmang1chieu
> //
> // Created by Macbook on 20/10/2016.
> // Copyright © 2016 Macbook. All rights reserved.
> //
> #include <iostream>
> using namespace std;
> int main(int argc, const char * argv[]) {
> int n;
> cout <<"so luong mang ";
> cin >> n;
> int array[n];
> cout <<"Nhap phan tu mang : "<<endl;
> for (int i =0 ; i <n ;i++)
> {
> cout << "phan tu "<< i<< " : " ;
> cin >> array[i];
> }
>
> bool c =1;
> for(int i=2 ;i<n;i++)
> {
>
> if (n%array[i]==0)
> {
> c=0;
> }
> if (c=1 )
> {
> cout << " So Nguyen To "<<array[i];
> }else {
> cout <<"khong co so NT";
> }
>
> }
> }
hình như sai gì đó
Bài liên quan
Bạn hỏi thế thì chịu, ít nhất cũng phải cho mọi người biết bạn thật sự có gì và cần gì chứ?
ok, giờ tạm bỏ qua cái mảng
nếu mình có 1 số X và cần kiểm tra xem nó có phải nguyên tố hay không, thì bạn sẽ làm thế nào?
bạn có zalo hay facebook để mình nt cho tiện ko
xin cảm ơn
thì b cứ rep trên này mọi người cùng thảo luận luôn cũng đâu sao
còn nếu muốn private thì có thể gửi Message ngay trong diễn đàn luôn đó
Sai chỗ này nè =))
Cấp phát tĩnh trước. VD n = 8 thì viết
int array[8]
Còn không thì cấp phát động ~~
Còn vòng for check số nguyên tố bạn tự tìm nhé
nếu mún biêt số nhập vào có phải số nguyên tố không thì em làm như sau :
bool c;
for int i =2 ; i<n ; i++; {
// n là số muốn kiểm tra là snt ko
if n%i==0
c =0
}
if c=1
số n là số nt
else không phải
cái này là mảng có bao nhiêu phần tử mà
ok. Vậy giờ khi duyệt qua mỗi phần tử trong mảng, và ta xem nó X, thì ta sẽ kiểm tra như thế nào?
Có phải là
Cho mình hỏi chỗ n % array[i] == 0 để làm gì? n là số lượng phần tử trong mảng.
Vậy hả anh
> #include
đang kiểm tra tính nguyên tố của số nào? n là gì? tại sao lại for theo n?
nếu n là constant variable thì được phép int arr[n], còn không thì không được !
Ví dụ mình nhập như sau:
n = 5
array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4
array[4] = 5
Chạy 2 vòng for (int i = 0; i < n; i++) để duyệt hết mảng vì n là số phần tử của mảng, vòng for (int j = 2; j <= sqrt(n); j++) để duyệt số nguyên tố.
if (array[i] % j == 0) thì không phải số nguyên tố.
n là số lượng phần tử của mảng, thì liên quan gì đến việc array[i] có là số nguyên tố hay không bạn :v
mình đang muốn đặt những câu hỏi, để bạn chủ thread trả lời, để bạn đó biết được thực sự code của mình đang làm gì, và nó sai ở đâu
Mình quote nhầm thôi, mình edit rồi
n là dãy số để mảng nhập vào
ví dụ n 1 .2.3…4…5.6.7
thì mảng có 7 phần tử
vòng lặp thì phải nhỏ hơn phần tử
vậy nếu mảng là 2 4 6 8 10
trong đoạn đó, array[i] đóng vai trò là gì? j đóng vai trò là gì? n đóng vai trò là gì?
array[i] là giá trị được mảng gán vào
vd a[1] vơi i là một được gán 2
a[2] với i là 2 được gán vào 4
v…v…
j đóng vai trò là tăng phần tử của mảng bắt đầu từ 2 để xét duyệt mảng
n là để biết mảng có bao nhiêu phần tử vi dụ
mảng có 5 phẩn tử thì n là 5
vai trò của nó trong đoạn code này ấy!
array[i] ngoài là phần tử thứ i trong mảng, thì trong đoạn này, nó đóng vai trò là gì?
và vòng lặp for j để làm gì?
và tại sao lại kiểm tra array[i] % n?
array[i] là các giá trị phần tử mảng
vòng lăp j dùng để kiểm tra số nguyên tố
còn array[i] %j em viết sai