Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by TrucNguyen ( 6 years ago )
#include <iostream>
#include <cmath>
using namespace std;
void REALLOC(int *&a, int oldSize, int newSize)
{
int* b = new int[oldSize];
for (int i = 0; i < oldSize; i++)
{
b[i] = a[i];
}
delete[] a;
a = new int[newSize];
int min = oldSize < newSize ? oldSize : newSize;
for (int i = 0; i < min; i++)
{
a[i] = b[i];
}
delete[] b;
}
bool IsPrime(int n)
{
if (n < 2)
{
return 0;
}
else if (n > 2 && n % 2 == 0)
{
return 0;
}
else
{
for (int i = 3; i <= sqrt(n); i += 2)
{
if (n % i == 0)
{
return 0;
}
}
}
return 1;
}
void Add_Element(int *&a, int& size, int element)
{
REALLOC(a, size, size + 1);
*(a + size) = *(a + size - 1);
*(a + size - 1) = element;
size++;
}
void Add_Prime_Number(int *&a, int& size)
{
int start = (*a) + 1;
int end = *(a + size - 1);
for (int i = start; i < end; i++)
{
if (IsPrime(i))
{
Add_Element(a, size, i);
}
}
}
void Get_Arr(int* a, int size)
{
for (int i = 0; i < size; i++)
{
cout << a[i] << " ";
}
}
void check_Input_Value(int &a, int &b, bool &checkContinue)
{
if (IsPrime(a) && IsPrime(b))
{
checkContinue = 1;
return;
}
for (int i = a; i <= b; i++)
{
if (IsPrime(i))
{
a = i;
break;
}
}
for (int i = b; i >= a; i--)
{
if (IsPrime(i))
{
b = i;
break;
}
}
if (IsPrime(a) && a == b)
{
cout << "\nGiua 2 so da cho co duy nhat mot so nguyen to la: " << a;
checkContinue = 0;
return;
}
if (!IsPrime(a))
{
cout << "\nGiua 2 so da cho khong co so nguyen to nao!";
checkContinue = 0;
return;
}
checkContinue = 1;
}
bool check_Input_Oder(int a, int b)
{
if (a > b)
{
return 0;
}
return 1;
}
int main()
{
int* prime_arr = new int[2];
int size = 2;
cin >> prime_arr[0];
cin >> prime_arr[1];
if (check_Input_Oder(prime_arr[0], prime_arr[1]))
{
bool checkContinue;
check_Input_Value(prime_arr[0], prime_arr[1], checkContinue);
if (checkContinue)
{
Add_Prime_Number(prime_arr, size);
Get_Arr(prime_arr, size);
delete[] prime_arr;
}
}
else
{
cout << "\nInput khong hop le!";
}
cout << endl;
system("pause");
return 0;
}
Revise this Paste