1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
rusak2 [61]
3 years ago
6

Do Exercise 6.4 from your textbook using recursion and the is_divisible function from Section 6.4. Your program may assume that

both arguments to is_power are positive integers. Note that the only positive integer that is a power of "1" is "1" itself. After writing your is_power function, include the following test cases in your script to exercise the function and print the results: print("is_power(10, 2) returns: ", is_power(10, 2)) print("is_power(27, 3) returns: ", is_power(27, 3)) print("is_power(1, 1) returns: ", is_power(1, 1)) print("is_power(10, 1) returns: ", is_power(10, 1)) print("is_power(3, 3) returns: ", is_power(3, 3))

Computers and Technology
1 answer:
Reika [66]3 years ago
7 0

Answer:

Here is the python method:

def is_power(n1, n2): # function that takes two positive integers n1 and n2 as arguments

   if(not n1>0 and not n2>0): #if n1 and n2 are not positive integers

       print("The number is not a positive integer so:") # print this message if n1 and n2 are negative

       return None # returns none when value of n1 and n2 is negative.

   elif n1 == n2: #first base case: if both the numbers are equal

       return True #returns True if n1=n2

   elif n2==1: #second base case: if the value of n2 is equal to 1

       return False #returns False if n2==1

   else: #recursive step

       return is_divisible(n1, n2) and is_power(n1/n2, n2) #call divisible method and is_power method recursively to determine if the number is the power of another

Explanation:

Here is the complete program.

def is_divisible(a, b):

   if a % b == 0:

       return True

   else:

       return False

def is_power(n1, n2):

   if(not n1>0 and not n2>0):

       print("The number is not a positive integer so:")  

       return None  

   elif n1 == n2:

       return True

   elif n2==1:

       return False

   else:

       return is_divisible(n1, n2) and is_power(n1/n2, n2)  

print("is_power(10, 2) returns: ", is_power(10, 2))

print("is_power(27, 3) returns: ", is_power(27, 3))

print("is_power(1, 1) returns: ", is_power(1, 1))

print("is_power(10, 1) returns: ", is_power(10, 1))

print("is_power(3, 3) returns: ", is_power(3, 3))

print("is_power(-10, -1) returns: ", is_power(-10, -1))  

The first method is is_divisible method that takes two numbers a and b as arguments. It checks whether a number a is completely divisible by number b. The % modulo operator is used to find the remainder of the division. If the remainder of the division is 0 it means that the number a is completely divisible by b otherwise it is not completely divisible. The method returns True if the result of a%b is 0 otherwise returns False.

The second method is is_power() that takes two numbers n1 and n2 as arguments. The if(not n1>0 and not n2>0) if statement checks if these numbers i.e. n1 and n2 are positive or not. If these numbers are not positive then the program prints the message: The number is not a positive integer so. After displaying this message the program returns None instead of True of False because of negative values of n1 and n2.

If the values of n1 and n2 are positive integers then the program checks its first base case: n1 == n2. Suppose the value of n1 = 1 and n2 =1 Then n1 is a  power of n2 if both of them are equal. So this returns True if both n1 and n2 are equal.

Now the program checks its second base case n2 == 1. Lets say n1 is 10 and n2 is 1 Then the function returns False because there is no positive integer that is the power of 1 except 1 itself.

Now the recursive case return is_divisible(n1, n2) and is_power(n1/n2, n2)  calls is_divisible() method and is_power method is called recursively in this statement. For example if n1 is 27 and n2 is 3 then this statement:

is_divisible(n1, n2) returns True because 27 is completely divisible by 3 i.e. 27 % 3 = 0

is_power(n1/n2,n2) is called. This method will be called recursively until the base condition is reached. You can see it has two arguments n1/n2 and n2. n1/n2 = 27/3 = 9 So this becomes is_power(9,3)

The base cases are checked. Now this else statement is again executed  return is_divisible(n1, n2) and is_power(n1/n2, n2) as none of the above base cases is evaluated to true. when is_divisible() returns True as 9 is completely divisible by 3 i.e. 9%3 =0 and is_power returns (9/3,3) which is (3,3). So this becomes is_power(3,3)

Now as value of n1 becomes 3 and value of n2 becomes 3. So the first base case elif n1 == n2: condition now evaluates to true as 3=3. So it returns True. Hence the result of this statement print("is_power(10, 2) returns: ", is_power(10, 2))  is:                                                                                                

is_power(27, 3) returns:  True

You might be interested in
Prehistoric music was often written down on clay tablets
Fudgin [204]

It is false. Just took a quiz with this question. It is 100% FALSE because I put true and got it wrong.

4 0
3 years ago
Seeking additional information is known as _____.
Sauron [17]

Answer:

B. proofing

Explanation:

You want to seek additional information because you want to prove your point or any point that suppers your answer.

Hope that helped:))

5 0
3 years ago
Read 2 more answers
You are creating a web page as part of a science project. Your role is to put your data on the webpage. You tracked the growth o
zysi [14]

The best way to represent this information on a web page is to put it on a table. I would use the <table> tag to create the table element. The <tr> tag for creating a series of row elements, the <td> tag to create cell divisions and the <br> tag for a line break.

I would use 10 rows for different plants and 8 columns for different points in time.

<em>Hope this helps :)</em>

7 0
2 years ago
Read 2 more answers
Which technology forms the foundation for cloud computing? forms the foundation for cloud computing.
saul85 [17]
The answer is virtualization

Virtualization is the creation of virtual versions of something such servers, storage devices, operating systems, that allows one to share an application or a resource among multiple customers or organizations. It plays a critical role in cloud computing through sharing data that is present in the clouds like application and infrastructure.
5 0
4 years ago
Read 2 more answers
On the pie chart below, which “slice” represents 30% of the budget?
yan [13]

A is the final answer! :)

4 0
3 years ago
Other questions:
  • The rubric given to them by their teacher requires that
    14·1 answer
  • A. STOP: What is a technology habit you practice today that you now realize will not help you to be successful? Explain why it’s
    10·2 answers
  • In a weighted scoring model, the sum of the weights of all the criteria must total _____ percent.
    15·1 answer
  • If you want to access your files anywhere from almost any connected device, you should store your files on your ________.
    9·1 answer
  • ____ is a programming language used to view and manipulate data that is stored in a database.
    6·1 answer
  • An example of hardware is a _____. a)word processor b)database c)motherboard d)internet
    15·2 answers
  • Egovernment involves the use of strategies and technologies to transform government by improving the delivery of services and en
    7·1 answer
  • Question 4 (7 points)
    6·1 answer
  • How is net pay different from gross pay?
    11·1 answer
  • What is the best method for modern businesses to authorize the use of workplace resources to its employees? a. assign them a use
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!