diff options
| author | Cabergs Charles <cacharle@e-r6-p7.s19.be> | 2019-07-09 10:23:25 +0200 |
|---|---|---|
| committer | Cabergs Charles <cacharle@e-r6-p7.s19.be> | 2019-07-09 10:23:25 +0200 |
| commit | 90076f97a1de6b60968e98d6c7a8b520ebda3c8e (patch) | |
| tree | 6c60a0fde7b2d8bc984845f6a412171df977e1dc /c05/ex06 | |
| parent | 803d5e42138e1f0f69f6d8953aea5cd23f5b72ee (diff) | |
| download | piscine-90076f97a1de6b60968e98d6c7a8b520ebda3c8e.tar.gz piscine-90076f97a1de6b60968e98d6c7a8b520ebda3c8e.tar.bz2 piscine-90076f97a1de6b60968e98d6c7a8b520ebda3c8e.zip | |
c07/c08 start, c05 faster, better, stronger
Diffstat (limited to 'c05/ex06')
| -rw-r--r-- | c05/ex06/ft_is_prime.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/c05/ex06/ft_is_prime.c b/c05/ex06/ft_is_prime.c index dc06fa5..73ca59b 100644 --- a/c05/ex06/ft_is_prime.c +++ b/c05/ex06/ft_is_prime.c @@ -6,13 +6,14 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/06 20:17:59 by cacharle #+# #+# */ -/* Updated: 2019/07/08 12:08:46 by cacharle ### ########.fr */ +/* Updated: 2019/07/09 10:17:58 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ int ft_is_prime(int nb) { - int i; + long unsigned int i; + long unsigned int nbu; if (nb <= 1) return (0); @@ -20,12 +21,15 @@ int ft_is_prime(int nb) return (1); if (nb % 2 == 0 || nb % 3 == 0) return (0); - i = 5; - while (i * i <= nb) + i = 1; + nbu = nb; + while (i * i <= nbu) { - if (nb % i == 0 || nb % (i + 2) == 0) + if (nbu % (i * 6 - 1) == 0) return (0); - i += 6; + if (nbu % (i * 6 + 1) == 0) + return (0); + i += 1; } return (1); } |
