## NPTEL Programming, Data Structures and Algorithms using Python Week 1 Assignment Answers 2024

1. What does h(27993) return for the following function definition?

```
def h(x):
(d,n) = (1,0)
while d <= x:
(d,n) = (d*3,n+1)
return(n)
```

Answer :- 10

2. What is g(60) – g(48), given the definition of g below?

```
def g(n):
s=0
for i in range(2,n):
if n%i == 0:
s = s+1
return(s)
```

Answer :- 2

3. Consider the following function f.

```
def f(n):
s=0
for i in range(1,n+1):
if n//i == i and n%i == 0:
s = 1
return(s%2 == 1)
```

The function f(n) given above returns True for a positive number n if and only if:

- n is an odd number.
- n is a prime number.
- n is a perfect square.
- n is a composite number.

Answer :-Click Here

4. Consider the following function foo.

```
def foo(m):
if m == 0:
return(0)
else:
return(m+foo(m-1))
```

Which of the following is correct?

- The function always terminates with foo(n) = factorial of n
- The function always terminates with foo(n) = n(n+1)/2
- The function terminates for nonnegative n with foo(n) = factorial of n
- The function terminates for nonnegative n with foo(n) = n(n+1)/2

Answer :-Click Here