Răspuns :
#include <stdio.h>
int main(void) {
int a, b, prim = 0, maxprim = 0, p = 1, ca, max ;
scanf("%d" , &a);
scanf("%d" , &b);
int bb = b;
if (a > b)
max = a;
else
max = b;
while(bb > 9){
p = p * 10;
bb /= 10;
}
int d = 2;
while (d * d <= a && a % d != 0)
d++;
if (d * d > a)
maxprim = a;
d = 2;
while (d * d <= b && b % d != 0)
d++;
if (d * d > b)
if (maxprim < b)
maxprim = b;
if (d * d > b && prim == 0)
maxprim = b;
while (a != 0 ) {
ca = a % 10;
bb = (p * ca) + (b % p);
if (bb > max)
max = bb;
d = 2;
while (d * d <= bb && bb % d != 0)
d++;
if (d * d > bb && bb > maxprim)
maxprim = bb;
bb = b - b % 10 + ca;
if (bb > max)
max = bb;
d = 2;
while (d * d <= bb && bb % d != 0)
d++;
if (d * d > bb && bb > maxprim)
maxprim = bb;
a /= 10;
}
if (maxprim == 0)
printf("%d\n" ,max);
else
printf("%d\n" , maxprim);
return 0;
}
int main(void) {
int a, b, prim = 0, maxprim = 0, p = 1, ca, max ;
scanf("%d" , &a);
scanf("%d" , &b);
int bb = b;
if (a > b)
max = a;
else
max = b;
while(bb > 9){
p = p * 10;
bb /= 10;
}
int d = 2;
while (d * d <= a && a % d != 0)
d++;
if (d * d > a)
maxprim = a;
d = 2;
while (d * d <= b && b % d != 0)
d++;
if (d * d > b)
if (maxprim < b)
maxprim = b;
if (d * d > b && prim == 0)
maxprim = b;
while (a != 0 ) {
ca = a % 10;
bb = (p * ca) + (b % p);
if (bb > max)
max = bb;
d = 2;
while (d * d <= bb && bb % d != 0)
d++;
if (d * d > bb && bb > maxprim)
maxprim = bb;
bb = b - b % 10 + ca;
if (bb > max)
max = bb;
d = 2;
while (d * d <= bb && bb % d != 0)
d++;
if (d * d > bb && bb > maxprim)
maxprim = bb;
a /= 10;
}
if (maxprim == 0)
printf("%d\n" ,max);
else
printf("%d\n" , maxprim);
return 0;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de ajutor. Pentru orice întrebare sau clarificare suplimentară, echipa noastră vă stă la dispoziție. Revenirea dumneavoastră ne onorează – nu uitați să ne salvați în lista de favorite!