Pentru a putea rula codul, te rugăm să te autentifici.

Autentifică-te
main.cpp

Dificilă · 8

Memorie: 4 MB / 2 MB

Timp: 1 secundă

I/O: Fișiere

Machamp are ca putere un număr natural a iar Pikachu un număr natural b. Puterea lui Pikachu se transformă după următoarea regulă. Cifrele numărului a prind pe rând cifrele numărului b înlocuindu-le astfel: prima cifră a numărului a este plasată în locul primei cifre a numărului b şi se formează un nou număr, apoi se plasează în locul celei de a doua cifră a numărului b şi aşa mai departe până când nu mai avem cifre. Procesul se repetă pentru toate cifrele primului număr.

Care este cea mai mare putere a lui Pikachu? Dacă va fi un număr prim atunci el va câştiga lupta. Dacă nu este un număr prim atunci cea mai mare putere a lui Pikachu îi va reveni lui Machamp. Vă revine sarcina să aflaţi puterea lui Pikachu la finalul luptei.

Cerință

Cunoscând cele două numere a şi b, să găsească:

  • numărul de transformări pe care le va face numărul b (incluzând şi cele două numere iniţiale), şi
  • cel mai mare număr prim format conform regulii de mai sus, ştiind că se iau în calcul pentru această determinare şi valorile iniţiale ale numerelor a şi b. În cazul în care nu există niciun număr prim, conform cerinţelor de mai sus, se va afişa cel mai mare număr care se poate forma, ştiind că se iau în calcul şi valorile iniţiale ale numărului a şi b.

Date de intrare

Se citesc din fişierul pokemon.in c, a şi b în această ordine, unde c poate fi 1 sau 2 precizand cerinţa.

Date de ieșire

Se va afişa în fişierul pokemon.out numărul de transformări dacă c = 1, şi cel mai mare număr prim dacă există sau cea mai mare valoare dacă c = 2.

Restricții și precizări

  • 10 ≤ a, b ≤ 1.000.000.000

Exemple

pokemon.in

1
19 913

pokemon.out

8

Explicație

Pentru primul exemplu. Deoarece numărul de valori obţinute prin transformări este 8, obţinem 113, 913, 911, 913, 993, 919, 19, 913 (deci 8 numere).

Pentru al doilea exemplu. Numerele care se formează sunt: 113 (folosind prima cifră din a în locul primei cifre din b), 913 (folosind prima cifră din a în locul celei de a doua cifre din b), 911 (folosind prima cifră din a în locul ultimei cifre din b), 913 (folosind a doua cifră din a în locul primei cifre din b), 993 (folosind a doua cifră din a în locul celei de a doua cifre din b), 919 (folosind a doua cifră din a în locul ultimei cifre din b). La aceste numere se adaugă valorile iniţiale ale lui a şi b, adică 19 şi 913. Se observă că cel mai mare număr prim dintre numerele de mai sus este 919.

Pentru al treilea exemplu. Numerele care se formează sunt: 244 (folosind prima cifră din a în locul primei cifre din b), 424 (folosind prima cifră din a în locul celei de a doua cifră din b), 442 (folosind prima cifră din a în locul ultimei cifre din b), 644 (folosind a doua cifră din a în locul primei cifre din b), 464 (folosind a doua cifră din a în locul celei de a doua cifre din b), 446 (folosind a doua cifră din a în locul ultimei cifre din b), 44 (folosind a treia cifră din a în locul primei cifre din b), 404 (folosind a treia cifră din a în locul celei de a doua cifre din b) şi 440 (folosind a treia cifră din a în locul ultimei cifre din b). La aceste numere se adaugă valorile iniţiale ale lui a şi b, adică 260 şi 444. Se observă că nu există niciun număr prim, atunci se va afişa cel mai mare număr dintre numerele de mai sus, adică 644.

pokemon.in

2
19 913

pokemon.out

919

Explicație

Pentru primul exemplu. Deoarece numărul de valori obţinute prin transformări este 8, obţinem 113, 913, 911, 913, 993, 919, 19, 913 (deci 8 numere).

Pentru al doilea exemplu. Numerele care se formează sunt: 113 (folosind prima cifră din a în locul primei cifre din b), 913 (folosind prima cifră din a în locul celei de a doua cifre din b), 911 (folosind prima cifră din a în locul ultimei cifre din b), 913 (folosind a doua cifră din a în locul primei cifre din b), 993 (folosind a doua cifră din a în locul celei de a doua cifre din b), 919 (folosind a doua cifră din a în locul ultimei cifre din b). La aceste numere se adaugă valorile iniţiale ale lui a şi b, adică 19 şi 913. Se observă că cel mai mare număr prim dintre numerele de mai sus este 919.

Pentru al treilea exemplu. Numerele care se formează sunt: 244 (folosind prima cifră din a în locul primei cifre din b), 424 (folosind prima cifră din a în locul celei de a doua cifră din b), 442 (folosind prima cifră din a în locul ultimei cifre din b), 644 (folosind a doua cifră din a în locul primei cifre din b), 464 (folosind a doua cifră din a în locul celei de a doua cifre din b), 446 (folosind a doua cifră din a în locul ultimei cifre din b), 44 (folosind a treia cifră din a în locul primei cifre din b), 404 (folosind a treia cifră din a în locul celei de a doua cifre din b) şi 440 (folosind a treia cifră din a în locul ultimei cifre din b). La aceste numere se adaugă valorile iniţiale ale lui a şi b, adică 260 şi 444. Se observă că nu există niciun număr prim, atunci se va afişa cel mai mare număr dintre numerele de mai sus, adică 644.

pokemon.in

2
260 444

pokemon.out

644

Explicație

Pentru primul exemplu. Deoarece numărul de valori obţinute prin transformări este 8, obţinem 113, 913, 911, 913, 993, 919, 19, 913 (deci 8 numere).

Pentru al doilea exemplu. Numerele care se formează sunt: 113 (folosind prima cifră din a în locul primei cifre din b), 913 (folosind prima cifră din a în locul celei de a doua cifre din b), 911 (folosind prima cifră din a în locul ultimei cifre din b), 913 (folosind a doua cifră din a în locul primei cifre din b), 993 (folosind a doua cifră din a în locul celei de a doua cifre din b), 919 (folosind a doua cifră din a în locul ultimei cifre din b). La aceste numere se adaugă valorile iniţiale ale lui a şi b, adică 19 şi 913. Se observă că cel mai mare număr prim dintre numerele de mai sus este 919.

Pentru al treilea exemplu. Numerele care se formează sunt: 244 (folosind prima cifră din a în locul primei cifre din b), 424 (folosind prima cifră din a în locul celei de a doua cifră din b), 442 (folosind prima cifră din a în locul ultimei cifre din b), 644 (folosind a doua cifră din a în locul primei cifre din b), 464 (folosind a doua cifră din a în locul celei de a doua cifre din b), 446 (folosind a doua cifră din a în locul ultimei cifre din b), 44 (folosind a treia cifră din a în locul primei cifre din b), 404 (folosind a treia cifră din a în locul celei de a doua cifre din b) şi 440 (folosind a treia cifră din a în locul ultimei cifre din b). La aceste numere se adaugă valorile iniţiale ale lui a şi b, adică 260 şi 444. Se observă că nu există niciun număr prim, atunci se va afişa cel mai mare număr dintre numerele de mai sus, adică 644.

ID #777 Autor OLI 2024, Brașov, clasa a V-a
Set Olimpiada Locală de Informatică 2024, Brașov, clasa a V-a Adăugată de Alexis Alexis lexington
Capitol Clasa a IX-a/Algoritmi elementari/Divizibilitate
Licență

Problema aceasta a fost publicată sub licența CC BY-SA 4.0. Indicațiile sunt publicate sub licența InfoAs Standard License, iar rezolvarea sub licența InfoAs Standard License. Licența InfoAs Standard License nu permite copierea sau modificarea fără acordul scris al autorilor. Platforma și toate funcționalitățile ei rămân în continuare proprietatea intelectuală Aspire Education Labs SRL. © 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.

Indicații oficiale de rezolvare a problemei

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

#include <bits/stdc++.h>

    using namespace std;

    int main() {
        int n;
        cin >> n;
        cout << n * n << endl;
        return 0;
    }

Lorem:

Subtitle

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

Lorem:

Pentru a vizualiza indicațiile problemei, te rugăm să te autentifici.

Indicații oficiale de rezolvare a problemei

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

#include <bits/stdc++.h>

    using namespace std;

    int main() {
        int n;
        cin >> n;
        cout << n * n << endl;
        return 0;
    }

Lorem:

Subtitle

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

Lorem:

Pentru a vizualiza rezolvarea problemei, te rugăm să te autentifici.

Soluții trimise la problema Pokemon

Soluții trimise 153
Soluții de 100 de puncte 11
Soluții de luna aceasta La fel de multe ca luna trecută. 0 +0
Rata de succes Rata dintre numărul de persoane care au obținut 100 de puncte și numărul total de persoane care au încercat problema. 24.14%

Autentifică-te pentru a vedea soluțiile tale.

Autentifică-te
  • Toate soluțiile tale le găsești aici. Găsești toate detaliile evaluării mai târziu, precum punctaje și sfaturi primite.
  • Poți să editezi soluțiile tale și să le retrimiți. Reia mai târziu de unde ai rămas, pentru că poți modifica soluții și să le reevaluezi.
  • Profesorii pot să vadă soluțiile tale și să îți trimită sugestii. Astfel, îți este mai ușor să înveți informatica, primind sfaturi bune chiar de la școală.

Ultimele soluții trimise 153

100000 10000 10000000 100 100
100 100000 1000000 1000000 1000000
1000 1000 10000000 10 10
100 100000 10000 1000 100000
100000 10000000 10 100000 1000000
100 10000 100000 10 100000
100 100000 10000000 10 1000
1000000 1000000 10 1000 10
1000 100000 100 1000 10000
10 10 100 100 100000
Tabelul se actualizează în timp real. ?? / ??

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te