Università degli Studi di Udine Facoltà di Scienze MM. FF. NN. 33100 - UDINE (UD) Via delle Scienze, 208 Tel. +39 (432) 558681/558684 Gara di Programmazione per gli studenti delle scuole superiori 20 Marzo 2002 Problema 3 – Scomposizione in fattori primi Si vuole realizzare un programma per scomporre un numero intero positivo n nei suoi fattori primi. Tale scomposizione è data dalla sequenza dei numeri primi che dividono n, considerati in ordine crescente, ciascuno accompagnato dal corrispondente esponente. Se n è divisibile per pe, dove p è un numero primo, ma non per pe+1, allora p è associato all’esponente e nella scomposizione (p non fa parte della scomposizione se e = 0). L’input del programma è una sequenza di righe, in ciascuna delle quali è riportato un numero intero positivo. L’ultima riga è identificata convenzionalmente dal numero “0”, che non fa parte dei numeri da fattorizzare. Non compaiono altri caratteri, nemmeno spazi bianchi, prima o dopo i numeri. L’output del programma deve essere una sequenza di righe, una per ciascun numero da fattorizzare. Una riga di output contiene la sequenza dei divisori primi, elencati in ordine crescente, alternata dai corrispondenti esponenti. Fra un fattore primo e il corrispondente esponente è interposto il carattere "^" (cappelletto), senza altri spazi; fra un esponente e il fattore primo successivo c’è un singolo spazio bianco. Non possono comparire altri caratteri, nemmeno spazi bianchi, all’inizio o alla fine. Esempio input: output corrispondente: 168 2^3 3^1 7^1 16 2^4 300 2^2 3^1 5^2 21 3^1 7^1 1573 11^3 13^1 0