Sto parlando di questa domanda , date un'occhiata se siete un po 'confusi.
Compito principale
Il tuo compito è di generare numeri interi concatenati, in ordine decrescente, ma aumentando il numero intero massimo ogni volta che premi 1
(per questa domanda, 1 sarà considerato un numero primo) . Anche se questo non suona in modo diverso dalla prima domanda, ecco la parte difficile: tutti i numeri emessi possono essere solo numeri primi . Questi verranno uniti in un'unica stringa senza spazi o nuove righe. Il tuo input sarà anche un numero primo .
Esempio:
1
21
321
5321
75321
1175321
Valid output:
1213215321753211175321
Ingresso
Il codice può contenere solo un input: il numero primo più alto da stampare. Questo input può provenire da qualsiasi luogo (grafico, STDIN). Hai la certezza che l'ingresso è un numero primo.
Produzione
Dovrai produrre il numero risultante. Puoi ottenere questo numero continuando il conto alla rovescia, conta il numero solo se è un numero primo, quindi collega tutti i risultati insieme a un numero. L'ultimo numero "riga" (ad es. 7, 5, 3, 2, 1
) Deve essere stampato completamente. L'output può essere qualsiasi cosa (numeri, stringhe, grafici), purché sia leggibile. Si applica lo stesso schema Regex per il controllo dei casi di test:
^(\D*(\d)+\D*|)$
Se l'output non corrisponde a questo modello, il codice non è valido.
Regole
- L'input è garantito per essere primo, non includere la gestione degli errori, a meno che tu non voglia / necessità.
- L'output può essere solo un numero completamente collegato, quindi non diviso per nulla, nemmeno per le nuove righe.
- L'algoritmo non dovrebbe verificare la prima istanza di
N
apparire (ad esempio,17
in1175321
), ma piuttosto la prima istanza diN
come numero effettivo. - Il tuo input è garantito per essere positivo, non aggiungere la gestione a meno che tu non voglia / necessità.
Casi test
Input: -2, 0
Output: Any, or none (number isn't positive)
Input: 9
Output: Any, or none (number isn't prime)
Input: 1
Output: 1
Input: 7
Output: 121321532175321
Input: 23
Output: 1213215321753211175321131175321171311753211917131175321231917131175321
Vincitore
Questo è code-golf , quindi vince l'autore del codice con la minima lunghezza in byte!
1
contraddice direttamente le specifiche, il che " assicura " che il numero di input sarà un numero primo. 2. Le specifiche di output sembrano contenere più contraddizioni e ambiguità. " L'ultimo numero" riga "(ad es. 7, 5, 3, 2, 1) deve essere stampato completamente " - quindi gli altri no? " Si applica lo stesso schema Regex per il controllo dei casi di test ", ma " L'output può essere solo un numero completamente collegato, quindi non diviso per nulla " contraddice questa regex. Ma la regex è chiaramente instabile perché consente la stringa vuota, e non c'è input che possa darla.
1
sia un numero primo per definizione.