DeletedUser36180
Ospite
C'è qualcuno che ne sa qualcosa? Io sono alle basi e avrei bisogno di una mano per una cosa semplicissima per qualcuno che ne sa ahahah
Sostanzialmente devo fare un algoritmo in modo che se inserisco un qualsiasi numero, mi dice i divisori di questo numero. E questo ce l'ho.. Ora devo aggiungere la condizione che mi stampi solo i divisori primi..
Non voglio che mi scrivete tutto il programma, vorrei capire come fare per identificare i primi.. Cioè le condizioni per cui un numero sia primo io le avevo pensate così:
x: numero che inserisco io
j: divisori del numero (quindi i numeri per cui x/j da resto 0)
e per i primi avevo pensato: j/z da resto zero, con z=1 o =j
potrebbe andare?
Per i numeri primi, così ad occhio, non mi viene in mente un altro algoritmo per identificarli, quindi si fai in quel modo, mi sembra una buona soluzione.
a=6; //non ricordo il codice per fare l'input
if (a>0) cout<<1; //il ciclo successivo ritorna tutti i valori tranne 1.
for( int i=1; i<a+1; i++ )
if (a%i==0)
{
for( int j=1, int y=0; j<i; j++ )
if (i%j==0) y++;
if (y==1) cout<<i;
}
// ti tornerà 2,3
Prova, non sono certo che funzioni, ho scritto qui non l'ho testato
public class Divisoriprimi
{
public static void main(String[] args)
{
int a=651; //non ricordo il codice per fare l'input
if (a>0) System.out.println("1"); //il ciclo successivo ritorna tutti i valori tranne 1.
int j=1;
int y=0;
for( int i=1; i<a+1; i++ )
if (a%i==0)
{
for( j=1, y=0; j<i; j++ )
if (i%j==0) y++;
if (y==1) System.out.println(i);
}
}
}
E comunque non conosco quei codici ahahahah noi siamo all'inizio quindi sappiamo solo i comandi base.. Tipo for, while, ecc..