CMU 15-112 Summer 2018: Fundamentals of Programming and Computer Science
Homework 1 (Due Tue 3-Jul, at 5pm)




  1. distance(x1, y1, x2, y2) [5 pts]
    Write the function distance(x1, y1, x2, y2) that takes four int or float values x1, y1, x2, y2 that represent the two points (x1, y1) and (x2, y2), and returns the distance between those points as a float.

  2. isEquilateralTriangle(side1,side2,side3) [25pts]
    Write the function isEquilateralTriangle(side1,side2,side3) that takes three sides to a triangle. The sides will be positive floats/ints. Return True if the 3 sides make up an equilateral triangle. Returns False otherwise. Hint: almostEquals might be helpful here.

  3. getKthDigit(n, k) [35pts]
    Write the function getKthDigit(n, k) that takes a possibly-negative int n and a non-negative int k, and returns the kth digit of n, starting from 0, counting from the right. So:
       getKthDigit(789, 0) returns 9
       getKthDigit(789, 2) returns 7
       getKthDigit(789, 3) returns 0
       getKthDigit(-789, 0) returns 9

  4. isPerfectSquare(n) [35pts]
    Write the function isPerfectSquare(n) that takes a possibly-non-int value, and returns True if it is an int that is a perfect square (that is, if there exists an integer m such that m**2 == n), and False otherwise. Do not crash on non-ints nor on negative ints.