Se da de la tastatura un numar natural cu cel mult 9 cifre.Se cere sa se determine cel mai mare numar mai mic sau egal cu nr dat si care are ultimele doua cifre prime.Ex:pentru numarul 4034 se va afisa numarul 4033.
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
using namespace std;
int ePrim( int x)
{
int d = 2;
while(d<=x/2)
{
if(x%d==0)
return 0;
d++;
}
return 1;
}
long raspuns ( long x )
{
int ultimaCifra = x%10, penultimaCifra = (x/10)%10;
x/=100;
while( ePrim(ultimaCifra) == 0)
{ ultimaCifra--;
}
while(ePrim(penultimaCifra)==0)
{ penultimaCifra--;
}
x= x*10 + penultimaCifra;
x = x*10 + ultimaCifra;
return x;
}
int main ()
{
long x;
cout<<"Dati x ";
cin>>x;
cout<<raspuns(x);
}
using namespace std;
int ePrim( int x)
{
int d = 2;
while(d<=x/2)
{
if(x%d==0)
return 0;
d++;
}
return 1;
}
long raspuns ( long x )
{
int ultimaCifra = x%10, penultimaCifra = (x/10)%10;
x/=100;
while( ePrim(ultimaCifra) == 0)
{ ultimaCifra--;
}
while(ePrim(penultimaCifra)==0)
{ penultimaCifra--;
}
x= x*10 + penultimaCifra;
x = x*10 + ultimaCifra;
return x;
}
int main ()
{
long x;
cout<<"Dati x ";
cin>>x;
cout<<raspuns(x);
}
Alte întrebări interesante
Chimie,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă