Give a polynomial-time algorithm for computing,abcmodp given a,b,c, and prime p.

Short Answer

Expert verified

An Algorithm:

Use Fermat’s little theorem

ap-11modp

Apply onabc with twice modular exponentiation operation

abca(bc)modp-1modp

Return a,b,c,p

The algorithm runs in On3time.

Step by step solution

01

Explain Polynomial time algorithm

If an algorithm solves the problem with the O(mk)number of steps for a given input, then the algorithm is a polynomial time algorithm.

02

Give a polynomial-time algorithm for computing,abcmod p,

Consider the Fermat’s little theorem to solve the modular exponentiation.An Algorithm:

Use Fermat’s little theorem

ap-11modp

Apply on with twice modular exponentiation operation

abca(bc)modp-1)modp

Return a,b,c,p

The above algorithm runs in On3time.

Therefore, a polynomial time algorithm ahs be obtained to compute abcmodp.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

1.37. The Chinese remainder theorem.
(a) Make a table with three columns. The first column is all numbers from 0 to 14. The second is the residues of these numbers modulo 3; the third column is the residues modulo 5. What do we observe?
(b) Prove that if p and q are distinct primes, then for every pair (j, k) with 0j<qand 0k<q, there is a unique integer 0i<pqsuch thatijmodp andikmodq. (Hint:
Prove that no two different i's in this range can have the same (j, k), and then count.)
(c) In this one-to-one correspondence between integers and pairs, it is easy to go from i to (j, k). Prove that the following formula takes we the other way:
i={j.qq-1modp+kpp-1modq}modpq
(d) Can we generalize parts (b) and (c) to more than two primes?

Consider the problem of computing N!=1·2·3···N.

(a) If Nis an role="math" localid="1658397956489" n-bit number, how many bits long is N!, approximately ( inΘ(·)form)?

(b) Give an algorithm to compute N!and analyze its running time.

Suppose you want to compute the nth Fibonacci number Fn , modulo an integer p. Can you find an efficient way to do this?

The grade-school algorithm for multiplying two n-bit binary numbers x and y consist of addingtogethern copies of r, each appropriately left-shifted. Each copy, when shifted, is at most 2n bits long.
In this problem, we will examine a scheme for adding n binary numbers, each m bits long, using a circuit or a parallel architecture. The main parameter of interest in this question is therefore the depth of the circuit or the longest path from the input to the output of the circuit. This determines the total time taken for computing the function.
To add two m-bit binary numbers naively, we must wait for the carry bit from position i-1before we can figure out the ith bit of the answer. This leads to a circuit of depthΟ(m). However, carry-lookahead circuits (see
wikipedia.comif you want to know more about this) can add inΟ(logn)depth.

  1. Assuming you have carry-lookahead circuits for addition, show how to add n numbers eachm bits long using a circuit of depth Ο(lognlogm).
  2. When adding three m-bit binary numbers x+y+z, there is a trick we can use to parallelize the process. Instead of carrying out the addition completely, we can re-express the result as the sum of just two binary numbersr+s, such that the ith bits of r and s can be computedindependently of the other bits. Show how this can be done. (Hint: One of the numbers represents carry bits.)
  3. Show how to use the trick from the previous part to design a circuit of depthΟ(logn)for multiplying two n-bit numbers.

Unlike a decreasing geometric series, the sum of the1,12,13,14,15,..... diverges; that is,i=1n1i=

It turns out that, for large n , the sum of the first n terms of this series can be well approximated as

i=1n1iInn+y

where is natural logarithm (log base e=2.718...) and y is a particular constant 0.57721...... Show that

i=1n1i=θ(logn)

(Hint: To show an upper bound, decrease each denominator to the next power of two. For a lower bound, increase each denominator to the next power of 2 .)

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free