>  기사  >  백엔드 개발  >  PHP 루프 학습 8: 1부터 10,000까지 완전수의 개수를 세고 모든 완전수를 출력합니다.

PHP 루프 학습 8: 1부터 10,000까지 완전수의 개수를 세고 모든 완전수를 출력합니다.

青灯夜游
青灯夜游원래의
2021-08-13 14:49:056339검색

이전 글 "PHP 루프 학습 7: 9*9 빠른 산술표를 인쇄하는 두 가지 방법"에서는 for 루프와 while 루프를 사용하여 99 곱셈표를 인쇄하는 방법을 소개했습니다. 계속해서 PHP 루프를 이해하고 주어진 숫자가 완전한 숫자인지 판단하는 방법을 소개하겠습니다. 관심 있는 친구들은 그것에 대해 배울 수 있습니다~

먼저 이해합시다완벽한 숫자가 무엇입니까?

완전수 전체 이름은 완전수입니다. 숫자가 인수의 합과 정확히 같으면 그 숫자를 "완전수"라고 합니다. (약수는 자기 자신이 아닌 약수를 말합니다.)

예: 6=1+2+3, 6은 완전수입니다.

그럼 숫자 숫자(예: 6)가 주어지면 숫자 숫자가 완전한지 어떻게 판단하나요?

아이디어:

1. 숫자 num을 인수로 분해합니다. 즉, 숫자 자체를 제외하고 num을 나눌 수 있는 모든 숫자를 찾습니다. (이를 위해서는 루프를 사용해야 합니다.)

for 루프를 예로 들어 보겠습니다. 1은 모든 정수를 나눌 수 있으므로 루프의 초기 조건이 설정되고 i=1; 제수는 num 자체가 될 수 없으므로 제한 조건은 i

$num=6;
for($i=1;$i<$num;$i++){
    if($num%$i==0){//分解因数
        
    }
}

2. 요소를 찾은 후에는 이러한 요소를 추가하여 합산해야 합니다. 계산 결과를 받으려면 $sum 변수가 필요합니다. 덧셈이기 때문에 $sum에 처음에는 0 값을 할당할 수 있습니다.

$num=6;
$sum=0;
for($i=1;$i<$num;$i++){
    if($num%$i==0){//分解因数
        $sum=$sum+$i;  //各因数相加,求和
    }
}

3. $sum과 $num이 같은지 확인합니다. $num이 완전수입니다.

구현 코드는 다음과 같습니다.

출력 결과를 살펴보세요.

PHP 루프 학습 8: 1부터 10,000까지 완전수의 개수를 세고 모든 완전수를 출력합니다.

이제 숫자가 완전한지 판단하는 방법을 알았으니 난이도를 높여보겠습니다. 주어진 범위(단지 1)를 출력합니다. ~10000 좋아요) 모두 완전수입니다.

분석: 1~10000 범위가 있고 for 루프를 사용하여 범위를 제한하므로 위 코드 외부에 for 루프를 추가할 수 있습니다.

<?php
header("Content-type:text/html;charset=utf-8");
for($a=1;$a<=10000;$a++){
	$sum=0;
	for($i=1;$i<$a;$i++){
	    if($a%$i==0){//分解因数
	        $sum=$sum+$i;  //各因数相加,求和
	    }
	}
	if($sum==$i){//如果这个数等于本身 则为完数
	echo "$i 是完数!<br>";
	}
}	
?>

출력 결과를 살펴보세요.

PHP 루프 학습 8: 1부터 10,000까지 완전수의 개수를 세고 모든 완전수를 출력합니다.

주어진 범위가 많고 완전수가 몇 개인지 알고 싶다면 어떻게 해야 할까요? if 문에 카운터 $b를 추가할 수 있습니다. 완전한 숫자가 출력될 때마다 $b는 1씩 증가합니다.

<?php
header("Content-type:text/html;charset=utf-8");
$b=0;
for($a=1;$a<=10000;$a++){
	$sum=0;
	for($i=1;$i<$a;$i++){
	    if($a%$i==0){//分解因数
	        $sum=$sum+$i;  //各因数相加,求和
	    }
	}
	if($sum==$i){//如果这个数等于本身 则为完数
	echo "$i 是完数!<br>";
	$b++;
	}
}
echo "<br>1~10000范围内有:$b 个完数。";
?>

출력을 살펴보세요.

PHP 루프 학습 8: 1부터 10,000까지 완전수의 개수를 세고 모든 완전수를 출력합니다.

좋아요, 완료되었습니다! 1부터 10,000까지의 완전수가 모두 출력되며, 완전수의 개수가 카운트됩니다.

그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →php 동영상 튜토리얼

추천:"PHP 면접 질문 모음(모음)"

위 내용은 PHP 루프 학습 8: 1부터 10,000까지 완전수의 개수를 세고 모든 완전수를 출력합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.