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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!