diff options
Diffstat (limited to 'c05/ex06/ft_is_prime.c')
| -rw-r--r-- | c05/ex06/ft_is_prime.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/c05/ex06/ft_is_prime.c b/c05/ex06/ft_is_prime.c new file mode 100644 index 0000000..05628a2 --- /dev/null +++ b/c05/ex06/ft_is_prime.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_is_prime.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/06 20:17:59 by cacharle #+# #+# */ +/* Updated: 2019/07/07 08:27:21 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_is_prime(int nb) +{ + int i; + + if (nb <= 1) + return (0); + if (nb <= 3) + return (1); + if (nb % 2 == 0 || nb % 3 == 0) + return (0); + i = 5; + while (i * i <= nb) + { + if (nb % i == 0 || nb % (i + 2) == 0) + return (0); + i += 6; + } + return (1); +} |
