qotd Se pensi che sia semplice, allora non hai capito il problema.
Bjarne Stroustrup
© 2014-2025 Roberto Foschini All rights reserved

Esercizi ludo-matematici

Legenda: 🙂 facile / 😐 medio / 🙁 difficile

Problemi base

  1. 🙂Dato in input un numero naturale N, visualizzare (una dopo l'altra) tutte le sue cifre. Ad esempio:
  2. 🙂In matematica, secondo il teorema fondamentale dell'aritmetica ogni numero N può essere scomposto in un prodotto di fattori primi, e tale scomposizione è unica. Ad esempio, per il numero 63: Scrivere un programma che stampa la scomposizione in fattori primi (factorization) dei numeri compresi tra 1 e un numero N richiesto in input.
  3. 🙂In matematica un numero D divide un numero N se il resto della divisione N/D è nullo. Ad esempio, per il numero 63: Scrivere un programma che stampa tutti i divisori di un numero N richiesto in input.
  4. 🙂Convertire un numero binario fornito in ingresso (e di cui è fornita la lunghezza n) nel decimale corrispondente, mediante iterazione e mediante ricorsione.
  5. 🙂Convertire un numero binario fornito in ingresso (e di cui non è fornita la lunghezza n) nel decimale corrispondente, mediante iterazione e mediante ricorsione.
  6. Dato in input una cifra D e un numero di cifre N, quante volte compare la cifra D se considero tutti i possibili numeri di N cifre? Risolvere il problema generando tutti i possibili numeri e contando i relativi casi. Ad esempio:

Numeri singoli

  1. 🙂In matematica, un numero naturale si dice primo (prime) se ha esattamente due divisori, o analogamente, se è maggiore di 1 ed è divisibile solamente per 1 e per se stesso. Ecco alcuni esempi: Scrivere un programma che stampa tutti i numeri primi compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri primi (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numeri primo (con N richiesto in input).
  2. 😐In matematica, un numero naturale si dice automorfo (automorphic) se elevato al quadrato termina con le stesse cifre del numero di partenza. Ecco alcuni esempi (1 viene generalmente omesso): Scrivere un programma che stampa tutti i numeri automorfi compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri automorfi (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero automorfo (con N richiesto in input).
  3. 🙂In matematica, un numero naturale N si dice triangolare (triangular) se è un numero poligonale rappresentabile in forma di triangolo, ovvero tale che preso un insieme con cardinalità N è possibile disporre i suoi elementi in forma di triangolo. Ad esempio: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, ... Risulta: Scrivere un programma che stampa tutti i numeri triangolari compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri triangolari (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero triangolare (con N richiesto in input).
    Suggerimento: un metodo per identificare i numeri triangolari può essere quello di sottrarre (finché n≥k) prima k=1, poi k=2, poi k=3, poi k=4, ecc. In altre parole sottrarre ripetutamente iter. Se il resto n viene zero, allora il numero è triangolare. Esempio, occorre sottrarre: 1+2+3+4+...
  4. 🙂In matematica, un numero naturale N si dice quadrato (square) se è un numero poligonale rappresentabile in forma di quadrato, ovvero tale che preso un insieme con cardinalità N è possibile disporre i suoi elementi in forma di quadrato. Ad esempio: 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, ... Risulta: Scrivere un programma che stampa tutti i numeri quadrati compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri quadrati (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero quadrato (con N richiesto in input).
    Suggerimento: un metodo per identificare i numeri quadrati può essere quello di sottrarre (finché n≥k) prima k=1, poi k=3, poi k=5, poi k=7, ecc. In altre parole sottrarre ripetutamente iter. Se il resto n viene zero, allora il numero è quadrato. Esempio, occorre sottrarre: 1+3+5+7+...
  5. 🙂In matematica, un numero naturale N si dice esagonale (hexagonal) se è un numero poligonale rappresentabile in forma di esagono, ovvero tale che preso un insieme con cardinalità N è possibile disporre i suoi elementi in forma di esagono. Ad esempio: 1, 6, 15, 28, 45, 66, 91, 120, 153, 190, ... Risulta: Scrivere un programma che stampa tutti i numeri esagonali compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri esagonali (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero esagonale (con N richiesto in input).
  6. 🙂In matematica, un numero naturale N si dice poligonale (polygonal) [con s lati] se è un numero figurato che può essere disposto a raffigurare un poligono regolare. Risulta: Scrivere un programma che stampa tutti i numeri poligonali compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri poligonali (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero poligonale (con N richiesto in input).
    Suggerimento: un metodo per identificare i numeri poligonali può essere quello di determinare la quantità q=(s-2)(k-1)+1 e di sottrarla ripetutamente finché n≥q. Se il resto n viene zero, allora il numero è poligonale. Esempio(s=6), occorre sottrarre: 1+5+9+13+...
  7. 🙂In matematica, un numero si dice di Mersenne (Mersenne) se è del tipo 2k-1. Ad esempio, sono numeri di Mersenne: Scrivere un programma che stampa tutti i numeri di Mersenne compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri di Mersenne (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero di Mersenne (con N richiesto in input).
  8. 🙂In matematica, un numero naturale N si dice perfetto (perfect) se la somma di tutti i suoi divisori sigma(N)=2N, o in modo analogo, se è uguale alla somma dei suoi divisori propri. Scrivere un programma che stampa tutti i numeri perfetti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri perfetti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero perfetto (con N richiesto in input).
  9. 🙂In matematica, un numero naturale N si dice abbondante (abundant) se è minore della somma dei suoi divisori propri. Ad esempio: Scrivere un programma che stampa tutti i numeri abbondanti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri abbondanti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero abbondante (con N richiesto in input).
  10. 🙂In matematica, un numero naturale N si dice difettivo (deficient) se è maggiore della somma dei suoi divisori propri. Ad esempio: Scrivere un programma che stampa tutti i numeri difettivi compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri difettivi (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero difettivo (con N richiesto in input).
  11. 🙂In matematica, un numero naturale N si dice lievemente difettivo (almost perfect) se la somma dei suoi divisori propri è N-1. Ad esempio:
  12. 🙂In matematica, un numero naturale N si dice lievemente abbondante (quasiperfect) se la somma dei suoi divisori propri è N+1. Ad oggi non ne sono stati trovati, ma se esistono devono essere quadrati perfetti e dispari.
  13. 🙂In matematica, un numero naturale N si dice k-perfetto (k-perfect) se la somma di tutti i suoi divisori sigma(N)=kN. Ad esempio: Scrivere un programma che stampa tutti i numeri k-perfetti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri k-perfetti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero k-perfetto (con N richiesto in input).
  14. 🙂In matematica, un numero naturale N si dice multiperfetto (multiperfect) se esiste un k (naturale) tale che N sia k-perfetto. Scrivere un programma che stampa tutti i numeri multiperfetti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri multiperfetti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero multiperfetto (con N richiesto in input).
  15. 🙂In matematica, un numero naturale N si dice (talvolta) potente[Mauro Fiorentini] (perfect digital invariant) se la somma delle potenze delle sue cifre (con esponente arbitrario ma fissato) è uguale ad N. Tali numeri costituiscono una generalizzazione dei numeri di Armstrong. Ad esempio (in base 10): Scrivere un programma che stampa tutti i numeri potenti (con esponente richiesto in input) compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri potenti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero potente (con N richiesto in input).
  16. 🙂In matematica, un numero naturale N si dice potente (powerful) se la sua scomposizione in fattori primi non contiene numeri primi alla prima potenza. Analogamente (si può dimostrare) che è esprimibile tramite il prodotto di un quadrato e di un cubo. Ad esempio, sono numeri potenti: Scrivere un programma che stampa tutti i numeri potenti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri potenti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero potente (con N richiesto in input).
  17. 🙂In matematica, un numero naturale N si dice superperfetto (superperfect) se la somma dei divisori della somma dei divisori di N è uguale ad 2*N. Ad esempio: Scrivere un programma che stampa tutti i numeri superperfetti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri superperfetti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero superperfetto (con N richiesto in input).
  18. 🙂In matematica, un numero naturale N si dice superprimo (superprime) se nell'elenco dei numeri primi occupano una posizione che è un numero primo. Ad esempio: Scrivere un programma che stampa tutti i numeri superprimi compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri superprimi (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero superprimo (con N richiesto in input).
  19. 🙂In matematica, un numero naturale N si dice sommaprodotto (sumproduct) se la somma delle sue cifre moltiplicata per il prodotto delle sue cifre è uguale ad N. Ad esempio: Scrivere un programma che stampa tutti i numeri sumproduct compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri sumproduct (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero sumproduct (con N richiesto in input).
  20. 🙂In matematica, un numero naturale N si dice di Münchhausen (Munchhausen) se la somma delle potenze delle sue cifre (con esponente pari alla cifra stessa) è uguale ad N. Ad esempio: Nel caso si accetti come convenzione che 00 = 0 (normalmente è considerata una forma indeterminata) sono numeri di Münchhausen anche 0 e 438579088.
    Scrivere un programma che stampa tutti i numeri di Münchhausen compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri di Münchhausen (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero di Münchhausen (con N richiesto in input).
  21. 🙂In matematica, un numero naturale N si dice di Armstrong (Armstrong) se la somma delle potenze delle sue cifre (con esponente pari al numeri delle cifre) è uguale ad N. Ad esempio (in base 10): Scrivere un programma che stampa tutti i numeri di Armstrong compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri di Armstrong (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero di Armstrong (con N richiesto in input).
  22. 🙂In matematica, un numero naturale N si dice rettangolare (pronic) se è dato dal prodotto di due numeri consecutivi. Ad esempio: Scrivere un programma che stampa tutti i numeri rettangolari compresi tra 1 e un numero N richiesto in input. (Risulta anche che il doppio di un numero triangolare è un numero rettangolare: graficamente, basta affiancare due triangoli).
    Scrivere poi un programma che stampa i primi N numeri rettangolari (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero rettangolare (con N richiesto in input).
  23. 🙂In matematica, un numero si dice taxicab (taxicab) [oppure di Hardy-Ramanujan] se può essere ottenuto come somma di due cubi in almeno due modi differenti. Ad esempio, per due modi differenti: Per tre modi differenti: Scrivere un programma che stampa tutti i numeri taxicab compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri taxicab (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero taxicab (con N richiesto in input).
  24. 🙂In matematica, un numero N si dice disarium (disarium) se la somma delle sue cifre, elevata alle rispettive posizioni è uguale ad N. Ad esempio: Scrivere un programma che stampa tutti i numeri disarium compresi tra 1 e un numero N richiesto in input (oppure: i primi N numeri disarium).
    Scrivere poi un programma che stampa i primi N numeri disarium (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero disarium (con N richiesto in input).
  25. 🙂In matematica, un numero si dice spy (spy) se la somma delle sue cifre è uguale al prodotto delle sue cifre. Ad esempio: Scrivere un programma che stampa tutti gli spy number tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri spy (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero spy (con N richiesto in input).
  26. 🙂In matematica, un numero si dice magic (magic) se la somma delle sue cifre (calcolata fino a quando non si ottiene una singola cifra) è uguale a 1. Ad esempio: Scrivere un programmma cha stampa tutti i magic number compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri magici (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero magico (con N richiesto in input).
  27. 🙂In matematica, un numero si dice di Harshad (Harshad) se è divisibile per la somma delle sue cifre. Ad esempio (in base 10): Scrivere un programma che stampa l'elenco dei numeri di Harshad per tutti i numeri compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri di Harshad (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero di Harshad (con N richiesto in input).
  28. 🙂In matematica, un numero si dice curioso (factorion) se è uguale alla somma dei fattoriali delle loro cifre. Ad esempio, in base 10: Scrivere un programma che stampa il valore dei numeri curiosi compresi tra 1 ed un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri curiosi (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero curioso (con N richiesto in input).
  29. 🙂In matematica, un numero naturale N si dice frugale (frugal) se la sua scomposizione in fattori primi (compresi gli esponenti) richiede meno cifre rispetto al numero di cifre di N. Ad esempio: Scrivere un programma che stampa i numeri frugali compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri frugali (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero frugale (con N richiesto in input).
  30. 🙂In matematica, un numero naturale N si dice equidigitale (equidigital) se la sua scomposizione in fattori primi (compresi gli esponenti) richiede lo stesso numero di cifre rispetto al numero di cifre di N (e non essendo 1 un numero primo, è ovvio che tutti i numeri primi sono equidigitali). Ad esempio: Scrivere un programma che stampa i numeri equidigitali compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri equidigitali (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero equidigitale (con N richiesto in input).
  31. 🙂In matematica, un numero naturale N si dice stravagante (extravagant) se la sua scomposizione in fattori primi (compresi gli esponenti) richiede più cifre rispetto al numero di cifre di N. Ad esempio: Scrivere un programma che stampa i numeri stravaganti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri stravaganti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero stravagante (con N richiesto in input).
  32. 🙂In matematica, un numero naturale N si dice di Bell (Bell) se rappresenta il numero di partizioni di un insieme di N elementi. Ad esempio: Scrivere un programma che stampa i numeri di Bell compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri di Bell (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero di Bell (con N richiesto in input).
  33. In matematica un numero Cn si dice di Catalan (Catalan) se è uguale alla prodottoria di (n+k)/k [per k=2..n]. Più precisamente si dice che Cn è l'ennesimo numero di Catalan. [In alternativa possono essere calcolati anche come rapporto di fattoriali]. Ad esempio, ecco i primi numri di Catalan: Scrivere un programma che stampa i numeri di Catalan compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri di Catalan (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero di Catalan (con N richiesto in input).
  34. 🙂In matematica, un numero naturale N si dice Sophie-Germain (Sophie-Germain) se N è primo e 2*N+1 è primo. Ad esempio: Scrivere un programma che stampa i numeri primi di Sophie-Germain compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri primi di Sophie-Germain (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero primo di Sophie-Germain (con N richiesto in input).
  35. 🙂In matematica, un numero naturale N si dice primo sicuro (safe_prime) se N è primo e (N-1)/2 è primo. Ad esempio: Scrivere un programma che stampa i numeri primi sicuri compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri primi sicuri (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero primo sicuro (con N richiesto in input).
  36. 🙂In matematica, un numero naturale N si dice primo forte (strong prime) se è maggiore della media aritmetica tra il numero primo precedente e il numero primo successivo. Ovvero se è più vicino al numero primo successivo che non al numero primo precedente. Ad esempio: Scrivere un programma che stampa i numeri primi forti compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri primi forti (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero primo forte (con N richiesto in input).
  37. 🙂In matematica, un numero naturale N si dice fortunato (lucky) se appartiene ad un insieme generato con un certo "crivello". Uno di questi è simile al crivello di Eratostene, ma elimina i numeri in base alla loro posizione anziché in base al loro valore.
  38. 🙂In matematica, un numero naturale N si dice fortunato[2] (lucky[2]) se appartiene ad un insieme generato come segue.
    Prendiamo l'insieme di interi: 1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,….
    Dall'elenco precedente eliminiamo ogni secondo numero, e otteniamo: 1,3,5, 7,9,11, 13,15,17, 19,21,23, 25,27,29, 31,33,35, 37,39,41, ….
    Dall'elenco precedente eliminiamo ogni terzo numero, e otteniamo: 1,3,7,9, 13,15,19,21, 25,27,31,33, 37,39, ….
    Dall'elenco precedente eliminiamo ogni quarto numero, e otteniamo: 1,3,7,13,15, 19,25,27,31,37, 39, ….
    Dall'elenco precedente eliminiamo ogni quinto numero, e otteniamo: 1,3,7,13,19,25, 27,31, 39,….
    Dall'elenco precedente eliminiamo ogni sesto numero, e otteniamo: 1,3,7,13,19,27,31, 39,….
    Continuiamo questo processo indefinitamente… Ogni numero che non viene eliminato con questo processo è chiamato "lucky" (vedi problema di Josephus). Ecco un elenco parziale: Scrivere un programma che stampa i numeri fortunati compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri fortunati (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero fortunato (con N richiesto in input).
  39. 🙂In matematica, un numero naturale m si dice fortunato[3] (fortunate) [dal nome di Reo Fortune] se è il più piccolo m>1 tale che il prodotto dei primi N numeri primi sommato ad m è un numero primo. Ad esempio: per trovare il 7° Fortunate number, si calcola il prodotto dei primi 7 numeri primi (2*3*5*7*11*13*17=510510). Risulta che m=19 è il più piccolo m che rende prima la somma. La lista dei numeri Fortunati, una volta eliminati i duplicati, risulta: Scrivere un programma che stampa i numeri Fortunati compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri Fortunati (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero Fortunato (con N richiesto in input).
  40. 🙂In matematica, si definisce fattoriale (Factorial) di un numero naturale N (e si indica con N!) la funzione che associa ad N il prodotto di tutti i numeri compresi tra 1 ed N. Ad esempio: Scrivere un programma che stampa il valore del fattoriale per tutti i numeri compresi tra 1 ed un numero N richiesto in input.
  41. 🙂In matematica, si definisce doppio fattoriale (double factorial) o semifattoriale di un numero naturale N (e si indica con N‼) la funzione che associa ad N il prodotto di tutti i numeri (con la medesima parità) compresi tra 1 ed N. Ad esempio: Scrivere un programma che stampa il valore del doppio fattoriale per tutti i numeri compresi tra 1 ed un numero N richiesto in input.
  42. 🙂In matematica, si definisce primoriale (primorial) di un numero naturale N≥2 (e si indica con N#) la funzione che associa ad N il prodotto di tutti i numeri primi compresi tra 1 ed N. Ad esempio: Scrivere un programma che stampa il valore del primoriale per tutti i numeri compresi tra 1 ed un numero N richiesto in input.
  43. 🙂In matematica, un numero naturale N si dice neon (neon) se ...
  44. 🙂In matematica, un numero naturale N si dice evil (evil) se ...
  45. 🙂In matematica, un numero naturale N si dice fizz buzz (fizz buzz) se ...
  46. 🙂In matematica, un numero naturale N si dice buzz (buzz) se ...
  47. 🙂In matematica, un numero naturale N si dice mosaic (mosaic) se ...
  48. 🙂In matematica, un numero naturale N si dice dismutazione se ...
  49. 🙂In matematica, un numero naturale N si dice regolare (regular) se la sua scomposizione in fattori primi ha come fattori solamente 2, 3 e 5 (qualunque esponente), ovvero se il suo fattore più alto è il 5. Ad esempio: Scrivere un programma che stampa i numeri regolari compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri regolari (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero regolare (con N richiesto in input).
  50. 🙂In matematica, un numero naturale N si dice primo cubano(della prima forma) (Cuban Prime(first form)) se è generabile con la formula 3*k*k + 3*k + 1 ed è primo. Ad esempio: Scrivere un programma che stampa i numeri primi cubani(della prima forma) tra 1 e un numero N richiesto in input.
  51. 🙂In matematica, un numero naturale N si dice primo cubano(della seconda forma) (Cuban Prime(second form)) se è generabile con la formula 3*k*k + 6*k + 4 ed è primo. Ad esempio: Scrivere un programma che stampa i numeri primi cubani(della seconda forma) tra 1 e un numero N richiesto in input.
  52. 🙂Si scriva una funzione in linguaggio C che calcola il valore della funzione matematica matematica Π(n), definita come “il numero di numeri primi compresi fra 1 ed n”. Ad esempio:
  53. 🙂In matematica, un numero naturale N si dice vampiro (vampire) se è un numero naturale composto v, con un numero pari di cifre n, che può essere fattorizzato in due interi x e y (chiamati zanne) che non abbiano entrambi degli zeri finali e ognuno dei quali abbia n/2 cifre, dove v contiene precisamente tutte le cifre di x e y, in un ordine qualsiasi, contando la molteplicità. Ad esempio: Scrivere un programma che stampa i numeri vampiri tra 1 e un numero N richiesto in input.
  54. 🙂In matematica, un numero naturale N si dice palindromo (palindromic) se è orizzontalmente simmetrico. Ad esempio: Scrivere un programma che stampa i numeri palindromi tra 1 e un numero N richiesto in input.
  55. 🙂In matematica, un numero naturale N si dice tetradico (tetradic) se è orizzontalmente simmetrico e verticalmente simmetrico. Ad esempio: Scrivere un programma che stampa i numeri tetradici tra 1 e un numero N richiesto in input.
  56. 🙂In matematica, un numero naturale N si dice strobogrammatico (strobogrammatic) se è rotazionalmente simmetrico. Ad esempio: Scrivere un programma che stampa i numeri strobogrammatici tra 1 e un numero N richiesto in input.

Curiosità

  1. 🙂[Congettura cinese numeri primi] Gli antichi cinesi credevano nella verità della proposizione "Un numero N è primo se e solo se è divisore di 2^N-2". Tale affermazione è però vera solo in parte, infatti è possibile dimostrare che se N è un numero primo allora divide 2^N-2. Al contrario, qualora N divida 2^N-2, non è detto che N sia primo. Ad esempio N=341 divide 2^N-2 ma non è primo (=31*11). Sfruttando tale congettura cinese, si scriva un programma C che stampi i numeri primi fino ad N (N<63).
  2. 🙂[Crivello di Eratostene] (array)
  3. 🙂[Primo teorema di Fermat]

Coppie

  1. 🙂[coppie]In matematica, due numeri primi si dicono gemelli (twin) se differiscono tra loro di due. Fatta eccezione per la coppia (2, 3), questa è la più piccola differenza possibile fra due primi. Alcuni esempi di coppie di primi gemelli sono 5 e 7, 11 e 13, e 821 e 823. Scrivere un programma cha stampa tutte le coppie di numeri primi gemelli compresi tra 1 e un numero N richiesto in input.
  2. 🙂[coppie]In matematica, due numeri primi si dicono cugini (cousin) se differiscono di quattro. I primi cugini inferiori a 1000 sono: Scrivere un programma cha stampa tutte le coppie di numeri primi cugini compresi tra 1 e un numero N richiesto in input.
  3. 🙂[coppie]In matematica due numeri primi si dicono sexy (sexy) se differiscono di sei. Il nome di queste coppie di numeri primi deriva dalla parola latina sex (ovvero sei). Le coppie di primi sexy minori di 500 sono: Scrivere un programma cha stampa tutte le coppie di numeri primi sexy compresi tra 1 e un numero N richiesto in input.
  4. 🙂[coppie]In matematica, due numeri si dicono amicabili (amicable) se la somma dei divisori propri dell'uno è uguale all'altro (reciprocamente), oppure analogamente, che, detta s(n) la somma dei divisori propri di n, e applicandola ripetutamente, questa genera una sequenza di lunghezza 2. Ad esempio: Scrivere un programma che stampa tutte le coppie di numeri amici compresi tra 1 e un numero N richiesto in input.
  5. 🙂[coppie]In matematica, due numeri si dicono socievoli (sociable) se la sequenza (di cui al problema precedente) ha lunghezza maggiore di 2. Ad esempio: Scrivere un programma che stampa tutte le coppie di numeri socievoli compresi tra 1 e un numero N richiesto in inptt (oppure: i primi N numeri felici).
  6. 🙂[coppie]In matematica, due numeri si dicono fidanzati (betrothed) se la somma dei divisori propri (escluso l'1) dell'uno è uguale all'altro (reciprocamente). Ad esempio: Scrivere un programma che stampa tutte le coppie di numeri fidanzati compresi tra 1 e un numero N richiesto in input.
  7. In matematica due numeri naturali N1 ed N2 si dicono affiatati se sono diversi tra loro e la loro somma è pari al prodotto delle cifre che li compongono. Ad esempio (14,34) e (63, 81) sono coppie di numeri affiatati, in quanto: 14+34 = 1x4 x 3x4 = 48; 63+81 = 6x3 x 8x1 = 144 a. Si scriva un programma che elenca tutte le diverse coppie di numeri affiatati composti di due cifre. b. Si scriva un programma che elenca tutte le diverse coppie di numeri affiatati composti di due cifre in cui il maggiore dei due numeri è un numero primo

Array

  1. 🙂[array]In matematica, un numero naturale N si dice pratico (practical) se tutti i numeri che lo precedono si possono scrivere in almeno una maniera come somma dei divisori distinti di N. Per esempio, 8 è un numero pratico poiché tutti gli interi da 1 a 7 possono essere scritti come somma dei suoi divisori 1, 2, 4 e 8. Esempi: Scrivere un programma che stampa tutti i numeri pratici compresi tra 1 e un numero N richiesto in input.
  2. 🙁[array]In matematica, un numero naturale N si dice semiperfetto (semiperfect) se è alla somma di alcuni (o tutti) dei suoi divisori propri. Ad esempio: Scrivere un programma che stampa tutti i numeri semiperfetti compresi tra 1 e un numero N richiesto in input.
  3. 🙁[array]In matematica, un numero si dice felice (happy) se la sequenza che si ottiene eseguendo la somma dei quadrati delle sue cifre, porta (prima o poi) ad 1. Ad esempio: Scrivere un programma che stampa l'elenco dei numeri felici per tutti i numeri compresi tra 1 ed un numero N richiesto in input (oppure: i primi N numeri felici).
  4. 🙂In matematica, un numero si dice fascinating (fascinating) se la concatenazione di "numero*1", "numero*2" e "numero*3" contiene tutte le cifre esattamente una volta e utilizzando un array per annotarsi quali cifre sono già uscite. Ad esempio: Scrivere un programma che stampa tutti i fascinating number tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri fascinating (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero fascinating (con N richiesto in input).
  5. 🙂Realizzare il triangolo di Floyd, ovvero un triangolo rettangolo che contiene numeri naturali, definito riempiendo le righe del triangolo con numeri consecutivi e partendo da 1 nell'angolo in alto a sinistra e utilizzando un array per annotarsi i coefficienti dell'ennesima riga (quelli della riga successiva possono essere calcolati a partire da quelli della riga precedente):
     1
     2  3
     4  5  6
     7  8  9 10
    11 12 13 14 15
    ...
    
    Scrivere un programma che chieda in input il numero di righe che si desiderano e lo stampi.
  6. 🙂Realizzare il triangolo di Tartaglia (Pascal's triangle), ovvero un triangolo che contiene numeri naturali, definito in modo che ogni numero sia la somma dei due che lo sovrastano:
              1
            1   1
          1   2   1
        1   3   3   1
      1   4   6   4   1
    1   5  10  10   5   1
    ...
    
    Scrivere un programma che chieda in input il numero di righe che si desiderano e lo stampi. Utilizzare un array per annotarsi i coefficienti dell'ennesima riga (quelli della riga successiva possono essere calcolati a partire da quelli della riga precedente).

Frattali

  1. 🙁Realizzare la curva di Kock.
  2. 🙁Realizzare la curva di Sierpinsky.
  3. 🙂...

Sequenze

  1. 🙂In matematica Sequenza di Beatty (Beatty sequence) ... Scrivere un programma che stampa tutti i numeri di Wythoff [lower] compresi tra 1 e un numero N richiesto in input.
    Scrivere un programma che stampa tutti i numeri di Wythoff [upper] compresi tra 1 e un numero N richiesto in input.
  2. 🙂Sequenza di Fibonacci (Fibonacci). È la successione definita da F1=1, F2=1, Fn=Fn-1+Fn-2 (per n>2). Ad esempio: Scrivere un programma che stampa i numeri di Fibonacci compresi tra 1 e un numero N richiesto in input.
    Scrivere poi un programma che stampa i primi N numeri di Fibonacci (con N richiesto in input).
    Scrivere infine un programma che stampa il N° numero di Fibonacci (con N richiesto in input).
  3. 😐Sequenze di Collatz. Si consideri la seguente regola: dato un numero intero positivo n, se n e` pari lo si divide per 2, se e` dispari lo si moltiplica per 3 e si aggiunge 1 al risultato. Quando n e` 1 ci si ferma. Questa semplice regola permette di costruire delle sequenze: la sequenza che si costruisce a partire dal numero n e` detta sequenza di Collatz di n. Ad esempio, la sequenza di Collatz di 7 e`: 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1. Secondo la congettura di Collatz, tutti i numeri naturali hanno una sequenza di Collatz che termina (cioe` arriva a 1). Scrivere un programma che richiede all'utente un numero naturale N e calcola la relativa lunghezza della sequenza di Collatz. Scrivere un programma che stampa l'elenco delle lunghezze delle sequenze di Collatz per tutti i numeri compresi tra 1 e un numero N richiesto in input e ne determina il valore massimo. Scrivere poi un programma che stampa l'elenco delle lunghezze delle sequenze di Collatz uguali a L (con L richiesto in input) per tutti i numeri compresi tra 1 ed un numero naturale N richiesto in input.
  4. 😐Sequenze di Collatz generalizzate. Come sopra, richiede due parametri n e k, entrambi naturali. Se n e` pari, lo si divide per 2, se n e` dispari, lo si moltiplica per k e si aggiunge 1 al risultato. k e` da assumersi sempre dispari. Scrivere un programma che richieda n e mostri la sequenza di Collatz di n su una riga, e la sua lunghezza sulla riga seguente. Scrivere un programma per la sequenza di Collatz generalizzata, ove si richiede in input prima k e poi n, visualizzando la sequenza e la sua lunghezza su due righe consecutive. http://www.rudimathematici.com/archivio/138.pdf

Criteri di divisibilità

  1. 🙂Implementare il criterio di divisibilità per 2 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  2. 😐Implementare il criterio di divisibilità per 3 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  3. 🙂Implementare il criterio di divisibilità per 4 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  4. 🙂Implementare il criterio di divisibilità per 5 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  5. 😐Implementare il criterio di divisibilità per 7 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  6. 🙂Implementare il criterio di divisibilità per 8 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  7. 😐Implementare il criterio di divisibilità per 9 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  8. 🙂Implementare il criterio di divisibilità per 10 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  9. 😐Implementare il criterio di divisibilità per 11 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  10. 😐Implementare il criterio di divisibilità per 13 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  11. 😐Implementare il criterio di divisibilità per 17 utilizzando la regola vista alle scuole medie (senza utilizzare l'operatore %, tranne che per %10)
  12. 😐Implementare il criterio di divisibilità per 2,4,8 utilizzando l'operatore and aritmetico e le proprietà dei numeri binari
  13. 😐Implementare il criterio di divisibilità per una qualunque potenza di 2 utilizzando l'operatore and aritmetico, l'operatore shift e le proprietà dei numeri binari.
  14. 😐Scrivere un programma che stampa tutti i numeri divisibili per 2 compresi tra 1 e un numero N richiesto in input.
  15. 😐Scrivere un programma che stampa tutti i numeri divisibili per 5 compresi tra 1 e un numero N richiesto in input.
  16. 😐Scrivere un programma che stampa tutti i numeri divisibili per 10 compresi tra 1 e un numero N richiesto in input.
  17. 😐Scrivere un programma che stampa tutti i numeri con somma delle cifre=3 compresi tra 1 e un numero N richiesto in input.