from __future__ import division, print_function # Python 3 def syracuse(n): while n != 1: print(n, end=' ') if n % 2 == 0: n = n//2 else: n = 3*n+1 syracuse(23) syracuse(245) syracuse(245154) def diviseurs(n): L = [] for i in range(1, n+1): if n % i == 0: L.append(i) return L diviseurs(12) diviseurs(13) diviseurs(15) diviseurs(24) def est_premier_1(n): L = diviseurs(n) return len(L) == 2 est_premier_1(12) est_premier_1(13) [n for n in range(20) if est_premier_1(n)] from math import sqrt def est_premier(n): sq = int(sqrt(n)) for i in range(2, sq): if n % i == 0: return False return True [n for n in range(20) if est_premier(n)] from math import sqrt def est_premier(n): sq = int(sqrt(n)) for i in range(2, sq+1): if n % i == 0: return False return True [n for n in range(20) if est_premier(n)] from math import sqrt def est_premier(n): if n == 0 or n == 1: return False sq = int(sqrt(n)) for i in range(2, sq+1): if n % i == 0: return False return True [n for n in range(50) if est_premier(n)]