aboutsummaryrefslogtreecommitdiff
path: root/c05/ex06
diff options
context:
space:
mode:
Diffstat (limited to 'c05/ex06')
-rw-r--r--c05/ex06/ft_is_prime.c31
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);
+}