Exercice du lundi n°8 : Un peu de maths

Exercice du lundi 19 janvier 2015, par Gyncoca.

Enoncé

Bonjour à tous,

quel est le 1 000 000<sup>e</sup> nombre qui n'est divisible par aucun nombre premier plus grand que 20.

On commence à compter à partir de 1 et pas à partir de 0.

Travaux réalisés

Aucun pour le moment.

Le plus pif des pifs

Je crois qu'il y a un problème avec le forum, j'ai pas l'impression ta réponse est là où elle devrait être :p

du coup j'en profite, si qqn a un système 64bits, une 30 aine de min de ce code devrait trouver :

(* Note importante : vous pouvez vous arrêter à tout moment avec ctrl+C, puis reprendre plus tard là où vous vous êtes arretés en modifiant la dernière ligne de code *)
let rec ok n =
	if n = 1 then 1 else
	if n mod 2 = 0 then (ok (n/2)) else
	if n mod 3 = 0 then (ok (n/3)) else
	if n mod 5 = 0 then (ok (n/5)) else
	if n mod 7 = 0 then (ok (n/7)) else
	if n mod 11 = 0 then (ok (n/11)) else
	if n mod 13 = 0 then (ok (n/13)) else
	if n mod 17 = 0 then (ok (n/17)) else
	if n mod 19 = 0 then (ok (n/19)) else
	0;;

let rec loop n nb =
	if nb = 1000000 then print_int n else
	((if n mod 10000 = 0 then Printf.printf "%d (#%d) \n" n nb);
	(loop (n+1) (nb+(ok n))))
in (loop 890360000 82619);;

(*890360000 (#82619)*)

Vous devez être inscrit pour répondre à ce sujet.