Ciao a tutti,
ho un problema a risolvere questo esercizio sul c++:
1) Scrivere un programma che chiede in ingresso da tastiera un numero intero n>1, e stampa su schermo il fattore primo più grande della scomposizione in fattori primi di n.
I fattori primi sono quei divisori di n che sono anche numeri primi. Un divisore B del numero A si riconosce, per esempio, dal fatto che la divisione A/B non ha resto. Occorre scrivere una funzione fattorePrimo(A) che, per tentativi, trova il più grande numero primo minore di A, e poi prova a dividere A per vedere se è un divisore.
Questo comportamento deve essere ottenuto scrivendo altre due funzioni, che vengono richiamate da fattorePrimo:
una funzione primo(val) che riceve un solo argomento val e restituisce un valore logico (booleano) "true" se val è primo, altrimenti "false";
una funzione divisore(A,B) se B è un divisore di A.
2)Fare una copia del programma al punto 2 e trasformare il suo main in una funzione fattoreMassimo(n) che prende in ingresso n come argomento anziché come input da tastiera, e dà il fattore più grande come valore restituito anziché come stampa su schermo.
Poi scrivere un programma che chiede in ingresso da tastiera un numero float n, e stampa su schermo la scomposizione in fattori primi completa di n, usando la funzione fattoreMassimo(n).
Il primo punto l'ho svolto, ma il secondo non so proprio come fare.
Non si devono usare gli array dinamici.
Grazie in anticipo