python this is connected to the last problem - the second part of the question is added. my attempt on this problem shows that the part b) (approaches N*NH) is not really wokring..  a) (answered) with a function “harmonic(n)” that computes the n-th harmonic number, write a function “harmonic_all(n)” that returns the number of values generated until all values are obtained as a function of the range of possible values n, then write a function “harmonic_sim(n)” that repeats “harmonic_all(n)” a total of n_sim = 100 times. (Attaching the code from the answer for a)    d) Show that as n increases (e.g., with a doubling experiment), from n = 2 to n_max = 1,000, the value of “coupon_sim(n)” approaches “n * Hn”.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

python

this is connected to the last problem - the second part of the question is added. my attempt on this problem shows that the part b) (approaches N*NH) is not really wokring.. 

a) (answered) with a function “harmonic(n)” that computes the n-th harmonic number, write a function “harmonic_all(n)” that returns the number of values generated until all values are obtained as a function of the range of possible values n, then write a function “harmonic_sim(n)” that repeats “harmonic_all(n)” a total of n_sim = 100 times.

(Attaching the code from the answer for a) 

 

d) Show that as n increases (e.g., with a doubling experiment), from n = 2 to n_max = 1,000, the value of “coupon_sim(n)” approaches “n * Hn”.

```python
def harmonic(n):
    harmonic = 1.00
    c = 0
    for i in range(2, n + 1):
        harmonic += 1 / i
        c += 1
    return round(harmonic, 2), c

# Implementation of harmonic_all(n)
def harmonic_all(n):
    c = 0
    for i in range(2, n + 1):
        c += harmonic(i)[1]
    return c

# Implementation of harmonic_sim(n)
def harmonic_sim(n):
    c = 0
    for i in range(2, n + 1):
        c += coupon(i)
    return c

# Testcase
print('harmonic_sim(100):', harmonic_sim(100))
```

**Explanation:**

1. **Function `harmonic(n)`:**
   - Initializes a variable `harmonic` to 1.00 to start calculating the harmonic number.
   - Initializes a counter `c` to 0.
   - Iterates from 2 to `n` and calculates the harmonic number by adding the reciprocal of each number to `harmonic`.
   - Increments the counter `c` in each iteration.
   - Returns the rounded harmonic number (rounded to 2 decimal places) and the counter `c`.

2. **Function `harmonic_all(n)`:**
   - Initializes a counter `c` to 0.
   - Iterates from 2 to `n` and adds the counter from `harmonic(i)` to `c`.
   - Returns the total count `c`.

3. **Function `harmonic_sim(n)`:**
   - Initializes a counter `c` to 0.
   - Iterates from 2 to `n` and adds the result from a function `coupon(i)` to `c`.
   - Returns the total count `c`.

4. **Test Case:**
   - Calls `harmonic_sim(100)` and prints the result.

**Note:** The function `coupon(i)` is used in `harmonic_sim(n)`, but its implementation is not provided in this snippet.
Transcribed Image Text:```python def harmonic(n): harmonic = 1.00 c = 0 for i in range(2, n + 1): harmonic += 1 / i c += 1 return round(harmonic, 2), c # Implementation of harmonic_all(n) def harmonic_all(n): c = 0 for i in range(2, n + 1): c += harmonic(i)[1] return c # Implementation of harmonic_sim(n) def harmonic_sim(n): c = 0 for i in range(2, n + 1): c += coupon(i) return c # Testcase print('harmonic_sim(100):', harmonic_sim(100)) ``` **Explanation:** 1. **Function `harmonic(n)`:** - Initializes a variable `harmonic` to 1.00 to start calculating the harmonic number. - Initializes a counter `c` to 0. - Iterates from 2 to `n` and calculates the harmonic number by adding the reciprocal of each number to `harmonic`. - Increments the counter `c` in each iteration. - Returns the rounded harmonic number (rounded to 2 decimal places) and the counter `c`. 2. **Function `harmonic_all(n)`:** - Initializes a counter `c` to 0. - Iterates from 2 to `n` and adds the counter from `harmonic(i)` to `c`. - Returns the total count `c`. 3. **Function `harmonic_sim(n)`:** - Initializes a counter `c` to 0. - Iterates from 2 to `n` and adds the result from a function `coupon(i)` to `c`. - Returns the total count `c`. 4. **Test Case:** - Calls `harmonic_sim(100)` and prints the result. **Note:** The function `coupon(i)` is used in `harmonic_sim(n)`, but its implementation is not provided in this snippet.
Expert Solution
Introduction :

Task :

  • Using the given set of values of n from 2 to 1000 :
    • show that harmonic_sim(n) approaches n*H(n).
steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY