How to create a completely responsive Online Software Company – Startup Website Design Template – Using HTML – CSS – JavaScript. Startup Website Design Template Free Download

Now the question may come to mind, how to implement Primus Algorithm? If you write code in a naive approach with repeated loops, chances are high that your code will not run within the time limit.

You can use a priority queue to reduce runtime. When adding a new node to Vnew, all the adjacent edges of that node must be added to the priority queue. Now the minimum weight edge from the priority queue can be found in logarithm complexity. The total complexity will be O(ElogE).

. But pushing node to queue instead of the edge is O(ElogV)

Figure out how to reduce complexity.

After implementing the algorithm must try to solve the following problems.

There is another algorithm for finding the minimum spanning tree known as Kruskal’s algorithm. We will learn that in the next episode.

Prime Generator (Sieve of Eratosthenes)

Mathematicians have been struggling with prime numbers since ancient times. Prime numbers hide some amazing beauty. Any composite number can be written as a product of multiple primes in only one way, just as all compounds are made up of multiple primes. Humans have been researching primes since ancient times, and are still going on. Legendary mathematicians like Gauss, Fermat, Euler worked on primes.

Eratosthenes, a Greek mathematician, scientist and poet around 200 BC, invented a method for finding prime numbers quickly. We use the 2200 year old method to generate primes on modern computers, all prime numbers below 10 million can be extracted in a very short time. This algorithm, known as the sieve of Eratosthenes, is one of the most beautiful algorithms in the world of programming.

A sieve, or sifter, separates wanted elements from unwanted material using a woven screen such as a mesh or net. The filter of Eratosthenes eliminates composite numbers.

Sift the Twos and sift the Threes,

The Sieve of Eratosthenes.

When the multiples sublime,

The numbers that remain are prime

We know that prime numbers are those numbers which are not divisible by any number other than 1, like 2,3,5,7,29 etc. In other words, prime numbers are those numbers which cannot be divided by any prime equal to or less than the square root of the number. This definition is the main part of the algorithm, so we will try to understand it first. Let’s try to understand the matter without formally proving it. We can write any number as a product of several primes called prime factors:

n=p1∗p2∗p3….∗pk

n

If itself is prime then n=p1(=n). Otherwise there must be more than one prime factor. Now think if a number c is written as the product of two numbers c=a∗b, one of a and b must be smaller than the square root of the number, the other is larger. If both a and b were greater than the square root of c, the product would be greater than c (just as c = a + b if a or b is a c

half of which is smaller than the other is larger).

Now n=p1∗p2∗p3….∗pk

come back to If any 2 of p1,p2,p3 etc. is greater than the square root of n then their product is n

Who will surpass, is not it? At most one prime factor can go outside the square root, the rest must be inside.

Then we are sure that a composite number is divisible by a prime less than its square root. The 2nd definition is now clear to us: “Primes are those numbers which cannot be divided by any prime equal to or less than the square root of the number”. If you don’t understand, think again and read the following part.

Now we turn on our filter and take out the prime. We will find all primes below 25. The square root of 25 is 5, so any number less than 25 must be divisible by 5 or less prime.

2 is a prime because 2 cannot be divided by any number below its square root. Then multiples of 2 are also not prime because they are divisible by 2, so we subtract them:

2,4,6,8,10,12,14,16,18,20,22,24

The number after 2 is 3. If 3 were not prime then any prime less than the square root of 3 would eliminate 3, since 3 is not eliminated so by definition 3 is prime. Let’s eliminate the multiples of 3:

3,6,9,12,15,18,21,24

The next number is 4. 4 has already been omitted. Then there are 5. If 5 were not prime then it would have already been truncated, let’s truncate the multiples of 5:

5,10,15,20,25

We don’t need to fight anymore. The square root of 25 is 5, so the square root of all numbers below 25 is less than 5. So all composite numbers below 25 are divisible by 5 or any prime below. Since we cut off all multiples of 2,3,5, the remaining numbers must be prime. They are not collected from the filter:

2,3,5,7,11,13,17,19,23

Let’s look at some code from Civ:

bool status[1000000 + 1];

void siv(int N) {

int sq = sqrt(N);

for (int i = 4; i <= N; i += 2) {

status[i] = 1;

}

for (int i = 3; i <= sq; i += 2) {

if (status[i] == 0) {

for (int j = i * i; j <= N; j += i)

status[j] = 1;

}

}

status = 1;

}

The status array indicates whether a number is prime or composite. If status[i]=0 then i is a prime. In the beginning all indices have 0, we will cut the non prime numbers according to the above algorithm, i.e. if j is non prime we will make status[j]=1. In line 8, I cut all multiples of 2 at the beginning. Then the next loop starts from 3 and increases to 2 because there is no need to worry about even numbers.

If I get status[i]=0 in line 10 then according to the algorithm i must be prime because i has not been cut yet, now I will cut all the multiples of i, for this I will start the loop of j from 2*i and increase i amount. We are done, the inner loop will cut all the non-prime numbers, now we can check whether i is prime by looking at the value of status[i].

Prime factors or products of any number can be analyzed very easily by generating primes with Sive. This work is in your hands :).

We check whether each number in cive is prime or non-prime with a Boolean array. As long as we generate primes we will need an array of the same size. An array of size 10^8 occupies a lot of memory. A great way to optimize memory is to use bits, called bitwise sifting. An integer has 32 bits each of which we can use as a flag, detailed discussion here.

## Join Our FreeWebsiteCreate Facebook Group to get an instant update for projects, templates, design resources, and solutions.

Free Website Create – HTML CSS, PHP, JavaScript Programming Projects For Free

## Thank You,

Stay with FreeWebsiteCreate.net

Share the post if necessary.

FreeWebsiteCreate.net tries to provide HTML, CSS, SCSS, JavaScript, React, Android Studio, Java, PHP, Laravel, Python, Django, C#(C Sharp), and ASP.net-related projects 100% free. We try to make learning easier. Free Website Create always tries to give free projects to new learners. Free projects and source code will help to learn quickly.

They can save time and learn more. In this post, we share a free portfolio project website code with HTML and CSS. This free code portfolio contains a single landing page with a responsive design. In this post, we get a free best carpenter and craftsman service website designed by FreeWebsiteCreate with HTML, CSS, Bootstrap, and JavaScript.

To get a free website project code,