Se citește un vector cu n⩽100 elemente întregi.
Să se elimine din vector elementele care au suma cifrelor număr prim.
Să se ordoneze descrescător după prima cifra.
Să se insereze după fiecare număr par un 0.
Va rog, URGENT!
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <cmath>
using namespace std;
int V[105], S[105];
bool ePrim(int n)
{
if(n==0)
{
return false;
}
else if(n==1)
{
return false;
}
else if(n==2)
{
return true;
}
else if(n%2==0)
{
return false;
}
else
{
int radn=sqrt(n);
bool isPrime=true;
for(int i=3; i<=radn; i+=2)
{
if(n%i==0)
{
isPrime=false;
break;
}
}
if(isPrime==true)
{
return true;
}
else
{
return false;
}
}
}
int primaCif(int a)
{
int ras=0;
while(a!=0)
{
ras=ras*10+a%10;
a=a/10;
}
return ras%10;
}
int sumCif(int a)
{
int sum=0;
while(a)
{
sum+=a%10;
a/=10;
}
return sum;
}
int main()
{
int n;
cin>>n;
for(int i=0; i<n; i++)
{
cin>>V[i];
}
for(int i=0; i<n; i++)
{
if(ePrim(sumCif(V[i]))==false)
{
for(int j=0; j<n; j++)
{
for(int k=j+1; k<n; k++)
{
if(primaCif(V[j])<primaCif(V[k]))
{
swap(V[j], V[k]);
}
}
}
}
}
for(int i=0; i<n; i++)
{
if(ePrim(sumCif(V[i]))==false)
{
if(V[i]%2==0)
{
cout<<V[i]<<" ";
cout<<0<<" ";
}
else
{
cout<<V[i]<<" ";
}
}
}
return 0;
}
Explicație:
Sper ca ii ok :)