Bonjour Messieurs,

J' ai du mal a ecrire un code nommé largestPrimeFactor qui va retourner le plus grand diviseur premier d’un nombre n. Le nom de la fonction est int largestPrimeFactor(int n).Si n <=1 la fonction retourne 0.

Ce qui m'empeche, ce sont les restrictions imposées qui sont:

-Les programmes doivent etre en mesure de supporter des arrays de n’importe quelle taille.

-Ne pas utiliser des entrees et sorties dans les fonctions. Les termes suivants ne doivent pas apparaitre :
1. cout
2. cin
3. printf
4. scanf
5. Console.WriteLine();
6. Console.ReadLine();
7. System.out.println();
8. System.in.read();
9. Tout autre commande d’entree/Sortie

- Le programme ne doit pas modifier les parameters d’entrée. Par exemple, si le programme doit ressortir un paramètre d’entrée, on doit faire ressortir une copie du paramètre.

- Aucune question n’oblige a resortir un parametre d’entrée.Si cela doit etre fait, faire resortir alors une copie sinon le resultat ne sera pas accepté

- On doit respecter le nom de la fonction dans l’énoncé. Ainsi si le nom de la fonction est int foo(int[ ] a);

le résultat doit s’apparenter a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
2.	
3.	main(...)
4.	{
5.	  int n = foo(new int[ ] {1, 2, 3});
6.	}
7.	
8.	int foo(int[ ] a)
9.	{
10.	  // do something with a
11.	  // return an int
12.	}
Un programme qui est écrit de cette sorte ne sera pas accepté

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
main(...)
{
  int[ ] a = new int[ ] {1, 2, 3};
  // do something with a
  // print out result.
}
Merci de m'aider.