Home >Backend Development >PHP Problem >PHP Loop Learning 11: How to determine prime numbers, print prime numbers from 1 to 100, and count their numbers

PHP Loop Learning 11: How to determine prime numbers, print prime numbers from 1 to 100, and count their numbers

青灯夜游
青灯夜游Original
2021-08-23 12:00:534082browse

In the previous article "PHP Loop Learning Ten: Determine the Number of Narcissus and Print the Number of All Narcissus", we will introduce to you how to determine the number of narcissus and use a loop to output the number of all narcissus. Method, let’s continue learning about PHP loops and introduce how to determine whether a number is a prime number and output a prime number from 1 to 100. Interested friends can learn about it~

First of all, let’s learn about it What are prime numbers?

Prime number (prime number) refers to a natural number that cannot be divided by other numbers except 1 and itself; if it can be divided by other numbers, it is called a composite number (stipulation) 1 is neither prime nor composite).

For example: the numbers 2, 3, 17, and 19 are all prime numbers. They can only be divided by 1 and themselves.

So if a number num (for example, 17) is given, how do we determine whether this number num is a prime number? Here are several methods to introduce to you:

Method 1: The simplest method is to find based on the definition of prime numbers

Thinking:

  • Prime numbers can only be divisible by 1 and itself, that is, they can only be divided by 2 times.

  • So we use loops to divide N by using every natural number greater than 1 and less than or equal to N, and count the number of times it is divided. If the number is greater than 2, it is not a prime number; if it is equal to 2, then is a prime number.

Let’s take a look at the implementation code:

<?php
header("content-type:text/html;charset=utf-8");
$num=17;
$count = 1;
for($i = 2; $i <= $num; $i++) {
    if(($num % $i)== 0)
        $count ++;
}
if($count == 2) {
    echo $num . &#39;就是素数<br/>&#39;;
}else{
	echo $num . &#39;不是素数<br/>&#39;;
}
?>

Output result:

PHP Loop Learning 11: How to determine prime numbers, print prime numbers from 1 to 100, and count their numbers

## Method 2:

Idea: Use a number to divide 2 to

sqrt (this number) respectively. If it can be divided evenly, it means that the number is not a prime number, otherwise it is a prime number.

Let’s take a look at the implementation code:

<?php
header("content-type:text/html;charset=utf-8");
$num=19;
$flag = 1;
for($i = 2; $i*$i <= $num; $i++) //能被2 - sqrt(i)整除的数
{
	if($num % $i == 0)
	{
		$flag = 0;
		break;
	}
}
if($flag == 1) {
    echo $num . &#39;就是素数<br/>&#39;;
}else{
	echo $num . &#39;不是素数<br/>&#39;;
}
?>

Output result:

PHP Loop Learning 11: How to determine prime numbers, print prime numbers from 1 to 100, and count their numbers

Okay, now you know how to determine whether a number is given Prime numbers, let’s make it more difficult:

How to give a range (such as 1~100) and output all prime numbers?

Do you want to use two loops? Based on the above for loop, just put a layer of for loop outside to control the range. Let’s take a look at the implementation code (directly using the code of method 2):

<?php
header("content-type:text/html;charset=utf-8");
$count = 0;
for($k = 2; $k <= 100; $k++){ //从2开始,遍历到100
	$flag = 1;
	for($i = 2; $i*$i <= $k; $i++) {//能被2 - sqrt(i)整除的数
	
		if($k % $i == 0)
		{
			$flag = 0;
			break;
		}
	}
	if($flag == 1) {
	    echo $k . &#39;是素数<br/>&#39;;
		$count ++;
	}
}
echo &#39;<br/>1~100间共有 &#39;.$count." 个素数";
?>

Output result:

PHP Loop Learning 11: How to determine prime numbers, print prime numbers from 1 to 100, and count their numbers

It can be seen that we have the inner for loop In the loop body, a counter

$count is used. After each prime number is output, it increases by 1, so that we can count how many prime numbers there are between 1 and 100.

Okay, that’s all. If you want to know anything else, you can click this. → →

php video tutorial

Recommended: PHP interview questions summary (collection)

The above is the detailed content of PHP Loop Learning 11: How to determine prime numbers, print prime numbers from 1 to 100, and count their numbers. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn