Laboratorio di programmazione

Laboratorio di programmazione
5−10 aprile 2013
Importante: Abituatevi a usare il comando
gcc -std=c99 -O -Wall -lm sorgente
oppure
gcc -std=c99 -O -Wall -lm sorgente -o eseguibile
(se volete dare un nome diverso da a.out all’eseguibile) per compilare i vostri programmi.
Ancora più importante: Le stringhe di formato della scanf devono contenere solo %d or %f. Non devono
contenere spazi, \n o quant’altro.
Tabelline
Scrivete un programma che, dopo aver richiesto in input un numero intero n, stampi la corrispondente tabellina,
moltiplicando n per i numeri interi da 1 a 10, come indicato nel seguente esempio di esecuzione:
Esempio di input
9
Esempio di output
1 x 9 = 9
2 x 9 = 18
3 x 9 = 27
4 x 9 = 36
5 x 9 = 45
6 x 9 = 54
7 x 9 = 63
8 x 9 = 72
9 x 9 = 81
10 x 9 = 90
Privo di quadrati
Un numero intero positivo è privo di quadrati se non esiste un quadrato perfetto che lo divide (equivalentemente,
se non esiste un quadrato di primo che lo divide). Scrivete un programma che legga un numero in input e determini
se è privo di quadrati.
1
Esempio di input
24
Esempio di output
24 non e’ privo di quadrati
Esempio di input
9
Esempio di output
9 non e’ privo di quadrati
Esempio di input
10
Esempio di output
10 e’ privo di quadrati
Numeri perfetti
Un numero è perfetto se è uguale alla somma dei suoi divisori propri. Per esempio, 6 = 1 + 2 + 3 è perfetto.
Scrivete un programma che, dato un intero in input, scriva i numeri perfetti minori dell’intero dato.
Esempio di esecuzione
Limite? 1000
6
28
496
Primi gemelli
Due primi p e q sono gemelli se p = q + 2. Scrivete un programma che stampi i primi gemelli minori di un intero
fornito dall’utente.
Esempio di esecuzione
Numero? 20
3 5
5 7
11 13
17 19
2
La prova del nove
La prova del nove è un meccanismo per il controllo dei calcoli basato sull’aritmetica modulare. Si basa sul fatto che
dovendo controllare se x · y = z, possiamo controllare se x · y ≡ z mod 9. Scrivete un programma che enumeri le
terne di interi x, y, z minori di un intero dato dall’utente e che stampi quelle per cui la prova del nove non funziona
(cioè x · y 6 = z ma x · y ≡ z mod 9).
Esempio di esecuzione
Limite? 5
3 3 0
3 4 3
4 3 3
Il triangolo di Tartaglia
Il triangolo di Tartaglia è un sistema per calcolare i coefficienti binomiali:
1
1
1
1
1
3
4
1
2
1
3
6
...
1
4
1
Scrivete un programma che scriva un triangolo di Tartaglia con il numero di righe richiesto dall’utente. Nella riga
n-esima, n ≥ 0, e in posizione k-esima, k ≥ 0, dovete scrivere nk . Per ottenere questo risultato, potete cominciare
ogni riga scrivendo 1, e preseguire moltiplicando per (n + 1 − k)/k (notate che questo valore è minore di uno
per certi n e k, e quindi dovete stare attenti quando effettuate la moltiplicazione). Una certa cura va posta nella
disposizione dei numeri che formano il triangolo. Ricordatevi che esiste un’opzione della direttiva di stampa %d
che permette di stampare un numero all’interno di un campo di lunghezza minima garantita.
3