Skip to content

Instantly share code, notes, and snippets.

@TheMuellenator
Last active February 6, 2024 15:05
Show Gist options
  • Save TheMuellenator/5343c658efdd46dc04522174fa4f0cd1 to your computer and use it in GitHub Desktop.
Save TheMuellenator/5343c658efdd46dc04522174fa4f0cd1 to your computer and use it in GitHub Desktop.
iOS repl.it - IF Else Challenge Solution
//Don't change this
var aYear = Int(readLine()!)!
func isLeap(year: Int) {
var leap = "NO"
//IF divisible by 4 with no remainders.
if year % 4 == 0 {
leap = "YES"
//Is leap year, unless:
}
if year % 100 == 0 {
leap = "NO"
//Is not leap year, unless:
}
if year % 400 == 0 {
leap = "YES"
//Is leap year.
}
print(leap)
}
//Don't change this
isLeap(year: aYear)
@melisyazici
Copy link

melisyazici commented Aug 3, 2021

Here is my solution:

func isLeap(year: Int) {

if year % 400 == 0 {
    print("YES")
} else if year % 4 == 0 && year % 100 != 0 {
    print("YES")
} else {
    print("NO")
}

}
isLeap(year: 2000) // write here whatever number you want

@SwifThibz
Copy link

My turn! Here is my solution :

`
//Don't change this
var aYear = Int(readLine()!)!

func isLeap(year: Int) {
// if year is divisible by 4 AND 100 and 400 with no remainder so it must be a leap year
if year % 4 == 0 && year % 100 == 0 && year % 400 == 0 {
print("YES")
// If the three precedent conditions are not met : if year is divisible by 4 AND 100 with no remainder but not by 400 it is not a leap year
} else if year % 4 == 0 && year % 100 == 0 && year % 400 != 0 {
print("NO")
// else, if the precedent conditions are not met and year is only divisible by 4 with no remainder, it should be a leap year
} else if year % 4 == 0 {
print("YES")
// In all other cases, it should not be a leap year
} else {
print("NO")
}
}
`

Hope it helps and sorry for my bad English

@DWilson4618
Copy link

//below you can change the year to whatever you'd like to test
var aYear = 1201
func isLeap(year: Int) {

if aYear%4 == 0 && aYear%100 != 0 {

//above checks to see if the year is evenly divisible by 4 and not evenly divisible by 100
// as long a the year is DIVISIBLE BY 4 (no remainder) and NOT DIVISIBLE BY 100 (needs a remainder) ITS A LEAP YEAR

    print("The year \(aYear) is a leap year.")

} else if aYear%4 == 0 && aYear%100 == 0 && aYear%400 == 0 {

//above checks to see if the year is evenly divisible by 4, 100, and 400
//if the year IS DIVISIBLE BY 4 AND 100 (no remainder) then for it to be a leap year it would ALSO HAVE TO BE DIVISIBLE BY 400 (no remainder)

    print("The year \(aYear) is a leap year.")

} else {

//any other year that doesn't meet the above conditions would not be considered a leap year

    print("The year \(aYear) is not a leap year.")
}

}
isLeap(year: aYear)

@anasthassy
Copy link

import UIKit
var aYear = 1200

if aYear % 4 == 0 && aYear % 100 == 0 && aYear % 400 == 0 {
    print("YES")
} else if aYear % 4 == 0 && aYear % 100 != 0 {
    print("YES")
    
} else {
    print("NO")
}

@yoliOms
Copy link

yoliOms commented Nov 3, 2021

//Don't change this var aYear = Int(readLine()!)!

func isLeap(year: Int) {

if year / 4 == 0 || year % 100 != 00 || year % 400 == 0 { print("YES") } else { print("NO") }

}

//Don't change this isLeap(year: aYear)

THIS WORKED

@yoliOms
Copy link

yoliOms commented Nov 3, 2021

After trying the prior solutions, I found this simple and to the point solution worked. Thanks @surkeela for this. You rock!

@alim-star
Copy link

what worked for me is:
{ if year % 4 == 0 && year % 100 != 0 || year % 400 == 0 {
print("YES")
} else {
print("NO")
} }

@langel94
Copy link

This is what worked for me on Playground:

var aYear = 1200 //type in year here.

func isLeap(year: Int) {
//Write your code inside this function.
if aYear % 4 == 0 && aYear % 100 != 0 || aYear % 400 == 0 {print("YES")}
else{print("NO")}
}

isLeap(year: aYear)

@usovanton
Copy link

I've made a different code and it works in Replit.
But when I put it in exercise swift, which is located inside the lesson, it doesn't approved as a solution.
Why? In Replit it works absolutely correctly..

var aYear = Int(readLine()!)!
func isLeap(year: Int) {

let a = aYear % 4
let b = aYear % 100
let c = aYear % 400

if a == 0 && a != b {print ("YES")}
else if a == c {print ("YES")}
else {print ("NO")}
}

isLeap(year: aYear)

@Magdalenaspace
Copy link

//Don't change this
var aYear = 2020
// (readLine()!)! -readLine() is used to read the input from the user. <-------------------

func isLeap(year: Int) {
if year%4 == 0 && year%100 != 00 || year%400 == 0{
print("Yes")
} else{
print("No")
}
}

//Try out your function with some different years. Don't copy the line below (it's not part of the exercise you need to complete).
isLeap(year: 2020)

@73307
Copy link

73307 commented Jan 21, 2022

//Don't change this
var year = 2000
func isLeap(aYear: Int) {
if (aYear % 4 == 0 || aYear % 400 == 0){
print("YES")
}else if (aYear % 100 == 0){
print("NO")
}else {
print("NO")
}
//Write your code inside this function.

}

//Try out your function with some different years. Don't copy the line below (it's not part of the exercise you need to complete).
isLeap(aYear: year)

@VladimirFibe
Copy link

var aYear = 1904

func isLeap(year: Int) {
if aYear % 4 == 0 {
if aYear % 100 == 0 && aYear % 400 != 0 {
print("No")
} else {
print("Yes")
}
} else {
print("No")
}
}
isLeap(year: aYear)

@let-butterChicken
Copy link

Tried to shorten the code lines. But this did not work on playground.

var aYear =  Int(readLine()!)!

func isLeap(year: Int) {
  if year % 4 == 0 && year % 400 == 0 && year % 100 != 0 {
    print("Yes")
  } else {
    print("No")
  }
}

isLeap(year: aYear)

Here's the buildtime message:
error: Playground execution aborted: error: Execution was interrupted, reason: EXC_BREAKPOINT (code=1, subcode=0x18f6dd21c).
The process has been left at the point where it was interrupted, use "thread return -x" to return to the state before expression evaluation.

What could be wrong?

@Jonnykiv
Copy link

Who can explain what this line is for? Xcode gives an error on it

//Don't change this var aYear = Int(readLine()!)!

This is the request for an input, in this case the year to check for a leap year

@alexnavter
Copy link

var aYear = Int(readLine()!)!

func isLeap(year: Int) {
    if (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 {
        print("\(year) is a leap year.")
    } else {
        print("\(year) is not a leap year.")
    }
}

isLeap(year: aYear)

@yogin-suttroogun
Copy link

it is not working for me.

What is the issue you are getting?

@yogin-suttroogun
Copy link

could someone please help me out here, i understand the steps necessary to get isLeap to say whether or not the year is a leap year but i cannot for the life of me understand the "==0" expression.

  1. if year % 4 == 0 print yes, 2000 divided by 4 is 500 which is a whole number with no remainder but is not equal to zero
  2. if year % 100 != 0 print no, 2000 divided by 100 is equal to 20 which again is not equal to zero but again is a whole number and finally 3. if year % 400 == 0 print yes 2000 divided by 400 is 5 which is a whole number but not equal to zero.

basically i wanna know what zero represents, is it an expression for a whole number?

So here the "==0" is calculate based on the modulus (remainder). Using the example 2000%4 which means that how many multiples of 4 will fit inside the value 2000 and returns the value that's left over which is 0 in this case.

More details check the screenshot below:
In the screenshot you can see at Line89 that the remainder of 2000%4 is 0 as there is no remainder.
Screenshot 2024-01-04 at 12 40 00

If there is anything feel free to ask.
Thanks.

@abrahammella
Copy link

func isLeap(year: Int) {
    if year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) {
        print("YES")
    }
    else{
        print("NO")
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment