Ciao! Il problema sembra essere il tipo di struttura dati che utilizzi per immagazzinare i dati, in particolare quando dichiari gli array stai utilizzando una struttura fissa della lunghezza s, ovvero il numero che passi in input al programma.
Se per esempio vuoi i fattori primi di 45, con quel codice dichiari un array di lunghezza 45 che però verrà riempito solamente con i fattori mentre le altre posizioni resteranno inizializzate a 0. Così quando lo stampi vedi tutti gli zeri perchè stai ciclando tutto l'a
Ti consiglio di sostituire gli array con una struttura dinamica, per esempio usa la classe ArrayList.
Spero di essere stato d'aiuto e di aver scritto in modo comprensibile.
Ciao ciao.![]()