From 420983760ae49f276f8f4ab03c71bce52ed04cc4 Mon Sep 17 00:00:00 2001 From: jdwagner17 <129535830+jdwagner17@users.noreply.github.com> Date: Mon, 3 Apr 2023 10:00:04 -0400 Subject: [PATCH 1/3] I believe this removes the limits of what integer may be picked for var checkPrime. This also allows var isPrime to be set to either true or false from initialization. In the original code, there is a comment on line 15 that contains a small mistake The code has an error when checkPrime = 2, because a range cannot have the upper and lower bound be the same value. This can occur because the range will be 2...(2-1). maybe this works in swift, but it didn't work on Codeacademy for some reason. --- 4-loops/Review.swift | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/4-loops/Review.swift b/4-loops/Review.swift index 3c30c66..e649dee 100644 --- a/4-loops/Review.swift +++ b/4-loops/Review.swift @@ -11,20 +11,31 @@ for num in 1...100 { } -// Second Challenge -// checkPrime can be changed to a positive number greater than 1 -var checkPrime = 17 -// Assume the number is prime until proven otherwise -var isPrime = true -for num in 2...checkPrime - 1 { - // If checkPrime is fully divisible by the current number it's not a prime number - if checkPrime % num == 0 { - isPrime = false - break +// Second Challenge +// checkPrime can be any integer +var checkPrime = 5 +// isPrime may be initialized with either a true or false value +var isPrime = false +// checkPrime will be divisble by no number other than itself and 1 if it is a prime number +if checkPrime > 2 { + for num in 2...checkPrime - 1 { + if checkPrime % num == 0 { + isPrime = false + break + } else { + // isPrime = true when a number larger than 2 could not be divided by num + isPrime = true + } } + // 2 is a prime number +} else if checkPrime == 2 { + isPrime = true + // all numbers under 2 are not prime +} else { + isPrime = false } -print("Is \(checkPrime) a prime numer? \(isPrime)!") +print("Is \(checkPrime) a prime number? \(isPrime)!") // Third Challenge From 54ca3dbcbb6da55c3337c6a661694351393fc0a7 Mon Sep 17 00:00:00 2001 From: jdwagner17 <129535830+jdwagner17@users.noreply.github.com> Date: Thu, 6 Apr 2023 11:48:02 -0400 Subject: [PATCH 2/3] Update Review.swift --- 4-loops/Review.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/4-loops/Review.swift b/4-loops/Review.swift index e649dee..ec808c9 100644 --- a/4-loops/Review.swift +++ b/4-loops/Review.swift @@ -30,7 +30,7 @@ if checkPrime > 2 { // 2 is a prime number } else if checkPrime == 2 { isPrime = true - // all numbers under 2 are not prime + // All numbers under 2 are not prime } else { isPrime = false } @@ -56,4 +56,4 @@ var stopNum = 4 for _ in 1...stopNum { starTracker += "*" print(starTracker) -} \ No newline at end of file +} From d55a31612e2e0edb63e012da0616818de8ad6954 Mon Sep 17 00:00:00 2001 From: jdwagner17 <129535830+jdwagner17@users.noreply.github.com> Date: Thu, 6 Apr 2023 14:50:49 -0400 Subject: [PATCH 3/3] Update Review.swift Made an update based off of this feedback. "However, right now for line 25, with the else statement, you're reassign isPrime during each iteration of the loop. You don't need to do this, rather, you can make that reassignment happen outside the scope of the loop (currently on line 30 where the comment is)" --- 4-loops/Review.swift | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/4-loops/Review.swift b/4-loops/Review.swift index ec808c9..3abbd11 100644 --- a/4-loops/Review.swift +++ b/4-loops/Review.swift @@ -13,7 +13,7 @@ for num in 1...100 { // Second Challenge // checkPrime can be any integer -var checkPrime = 5 +var checkPrime = 5 // isPrime may be initialized with either a true or false value var isPrime = false // checkPrime will be divisble by no number other than itself and 1 if it is a prime number @@ -27,15 +27,17 @@ if checkPrime > 2 { isPrime = true } } - // 2 is a prime number -} else if checkPrime == 2 { +} +// 2 the lowest prime number +if checkPrime == 2 { isPrime = true - // All numbers under 2 are not prime -} else { +} +// All numbers under 2 are not prime +if checkPrime < 2 { isPrime = false } -print("Is \(checkPrime) a prime number? \(isPrime)!") +print("Is \(checkPrime) a prime number? \(isPrime)!") // Third Challenge