>  기사  >  백엔드 개발  >  측면 길이 N_php 팁으로 속이 빈 다이아몬드 모양을 인쇄하는 방법

측면 길이 N_php 팁으로 속이 빈 다이아몬드 모양을 인쇄하는 방법

WBOY
WBOY원래의
2016-05-16 20:22:291250검색

이 기사의 예에서는 PHP가 변 길이가 N인 단단하고 속이 빈 다이아몬드 모양을 인쇄하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

고체 다이아몬드 계산 방법:
$n: 변의 길이
$i: 현재 줄, 0부터 시작
$rows: 총 행 수

상부
선행 공백 수 =$n-$i-1
문자 수=$i*2 1

하부
앞 공백 수 =$i-$n 1
문자 수=($rows-$i)*2-1

str_pad를 사용하여 for/while 루프를 줄입니다

코드 복사 코드는 다음과 같습니다.
/**
* 단단한 다이아몬드 인쇄
* @param int $n 변 길이, 기본값 5
* @param String $s 문자 표시, 기본값*
* @return 문자열
​*/
함수 solidDiamond($n=5, $s='*'){
$str = ''; // 총 행 수 계산
$행 = $n*2-1; // 각 행의 *를 계산하는 루프
for($i=0; $i<$rows; $i ){
If($i<$n){ // 상단
                 $str .= str_pad('', ($n-$i-1), ' '). str_pad('', $i*2 1, $s)."rn"; } Else {//하단
$str .= str_pad('', ($i-$n 1), ' ').str_pad('', ($rows-$i)*2-1, $s)
~ }  
$str 반환
}
에코 ''; 에코 솔리드다이아몬드(5) <br> echo '';




코드 복사

코드는 다음과 같습니다. * *** ***** *******
*********
*******
*****
***
*


중공 다이아몬드 계산 방법:
$n: 변의 길이
$i: 현재 줄, 0부터 시작
$rows: 총 행 수

상부
선행 공백 수 =$n-$i-1
빈 공간 수 =$i*2 1-2
문자 수 = $i*2 1 - 공백 수

하부
앞 공백 수 =$i-$n 1
빈 공간 수 = ($rows-$i)*2-1-2
문자 수 = ($rows-$i)*2-1 - 공백 수




코드 복사

코드는 다음과 같습니다./** * 속이 빈 다이아몬드 프린트 * @param int $n 변 길이, 기본값 5 * @param String $s 문자 표시, 기본값*
* @return 문자열
​*/
함수 HollowDiamond($n=5, $s='*'){
$str = ''; // 총 행 수 계산
$행 = $n*2-1; // 각 행의 *를 계산하는 루프
for($i=0; $i<$rows; $i ){
If($i<$n){ // 상단
$tmp = $i*2
$str .= str_pad('', ($n-$i-1), ' ').str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH). "rn"
} Else {//하단
               $tmp = ($rows-$i)*2-1
$str .= str_pad('', ($i-$n 1), ' ').str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH) " rn";
~ }  
$str 반환
}
에코 ''; 에코 할로우다이아몬드(5) <br> echo '';






코드 복사

코드는 다음과 같습니다.
*
* *
* * *
* * *
* * *
* * *
* * *
* *
*

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

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