Se citește de la consolă un număr întreg. Se determină și se afișează cifra a treia a acestui număr. Să se verifice apoi dacă numărul dat este prim.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
//#include <vector>
#include <string>
//#include <algorithm>
#include <sstream>
//using std::cin;
//using std::cout;
//using std::endl;
int GetDigitsOfNumber(int number)
{
int counter = 0;
while (number)
{
number /= 10;
counter++;
}
return counter;
}
bool IsPrime(const int thirdDigit)
{
bool isPrime = true;
if (thirdDigit == 0 || thirdDigit == 1)
{
isPrime = false;
return isPrime;
}
for (int i = 2; i <= thirdDigit / 2; ++i)
{
if (thirdDigit % i == 0)
{
isPrime = false;
return isPrime;
}
}
return isPrime;
}
int main()
{
int n = -1;
int thirdDigit = -1;
cin >> n;
if (GetDigitsOfNumber(n) < 3)
{
std::cout << "Numarul nu este de 3 cifre. Oprim programul." << endl;
return;
}
std::string numberToString = std::to_string(n);
std::stringstream ss;
ss << numberToString.at(2);
ss >> thirdDigit;
if (IsPrime(thirdDigit))
{
std::cout << "Numarul este prim" << std::endl;
}
else
{
std::cout << "Numarul nu este prim" << std::endl;
}
}
Explicație: