#include<iostream>
#include<vector>
using namespace std;
void shunxufind(int a[] , int x );
void zhebanfind(int b[], int n,int key);
bool sushufind(int p);
void mysort(vector<int>& c, int n);
int main() {
int a[5] = { 19,67,24,11,17 };
shunxufind(a, 17);
int b[5] = { 2,3,9,17,59 };
zhebanfind(b, 5, 17);
vector<int>c;
for (int i = 0; i <= 5; i++) {
if (sushufind(a[i]))
c.push_back(a[i]);
if (sushufind(b[i]))
c.push_back(b[i]);
}
mysort(c, c.size());
for (int q = 0; q <= c.size(); q++) {
cout << c[q] << endl;
}
return 0;
}
void shunxufind(int a[] ,int x) {
const int n = 5;
for (int i = 0; i < n; i++) {
if (a[i] == x) {
cout << "查找元素下标为" << i<<endl;
break;
}
}
}
void zhebanfind(int b[],int n ,int key) {
int mid,low=0,high=n-1;
while (low <= high) {
mid = (low + high) / 2;
if (key == b[mid]) {
cout << "查找元素下标为" << mid << endl;
break;
}
else {
if (key < b[mid])
high = mid - 1;
else
low = mid + 1;
}
}
if(low > high)
{
cout << "查找失败" << endl;
}
}
bool sushufind(int p) {
if (p <= 1)return false;
for (int m = 2; m < p; m++) {
if (p%m == 0)
return false;
break;
}
return true;
}
void mysort(vector<int>& c, int n) {
for (int i = 1; i <= n - 1; i++) {
for (int j = 0; j < n - i; j++) {
if (c[j + 1] < c[j]) {
swap(c[j + 1], c[j]);
}
}
}
}
void swap(int &x, int &y) { int z(x); x = y; y = z; }