Find the smallest integer value of N such that f(x)=O(x^N).

a) f(x) = x^7 - 150x^6 + 3x^3 + 111
b) f(x) = (x^3 + 2x^2) / (x^4 + x^2 + 1)
c) f(x) = ⌈x⌉
d) f(x) = ⌊x⌋

To find the smallest integer value of N such that f(x) = O(x^N), we need to analyze the growth rate of each function.

a) For f(x) = x^7 - 150x^6 + 3x^3 + 111:
To determine the highest power of x in the expression, we look for the term with the highest degree. In this case, it is x^7. Therefore, N = 7.

b) For f(x) = (x^3 + 2x^2) / (x^4 + x^2 + 1):
We simplify the expression:
f(x) = (x^3 + 2x^2) / (x^4 + x^2 + 1)
= x^3 / x^4 + 2x^2 / x^4 + 1 / x^4
= 1/x + 2/x^2 + 1/x^4

Now, we look for the term with the highest degree in the simplified expression, which is 1/x^4. Hence, N = 4.

c) For f(x) = ⌈x⌉:
The ceiling function always rounds up to the nearest integer. Since the ceiling function has a constant growth rate, no matter how large x becomes, the growth rate will always be 1. Therefore, N = 1.

d) For f(x) = ⌊x⌋:
The floor function always rounds down to the nearest integer. Similar to the ceiling function, the growth rate of the floor function remains constant for any input value. Thus, N = 1.

In conclusion, the smallest integer value of N for each function is:
a) N = 7
b) N = 4
c) N = 1
d) N = 1