input: Write a function to find all the prime numbers between 1 and 100 using the Sieve of Eratosthenes algorithm. If the input number is less than or equal to 1, return an empty list. If the input number is greater than 100, return an empty list as well.
  
  assert sieve_eratosthenes(100)==[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
  assert sieve_eratosthenes(1)==[]
  assert sieve_eratosthenes(0)==[]
  assert sieve_eratosthenes(101)==[]
output: def sieve_eratosthenes(n):
      if n <= 1 or n > 100:
          return []
      is_prime = [True] * (n + 1)
      p = 2
      while (p * p <= n):
          if (is_prime[p] == True):
              for i in range(p * p, n + 1, p):
                  is_prime[i] = False
          p += 1
      prime_numbers = [p for p in range(2, n + 1) if is_prime[p]]
      return prime_numbers