You cannot see this page without javascript.

이전 포스팅에 이어서 이번에는 마방진 생성이 가능할 경우를 보도록 하겠다.

 

많은 마방진 풀이법을 찾아보면 알겠지만, 다들 홀수와 4의배수 그리고 그외, 이렁헤 3가지로 구분하여 풀이하고 있다.

 

본인도 같은 방법으로 하려한다.

 

그래서 앞서 작업했던 마방진 생성조건이 만족하지 않을때의 코드에 3가지의 경우를 추가하여야 할 것이다.

 

단지 3가지의 구분만을 하는 것은 if문의 아주 기초적인 활용임으로 다음과 같이 코드를 삽입하여 보자,

 

 

<?php

$square=$_POST['square'];

if ( ( $square <= 2 ) or ( $square != intval ( $square ) ) )

{

echo "<p align="center">3이상의 자연수를 입력하여 주세요!</p>";

}

else

{

if ( $square%2 == 1 )

{

echo "홀수";

}

else if ( $square%4 =0 )

{

echo "4배수";

}

else

{

echo "그외";

}

}

?>

위의 코드를 보면 빨간색의 영역은 이전에 작성했던 코드중에 마방진 생성조건에 만족할 경우가 될것이기 때문에 그 코드 안에 파란색의 3가지 경우를 삽입하였다.

 

첫번째의 경우는 홀수일 경우로 $square%2 == 1 과 같은 조건문을 입력하였다.

 

이미 상위의 if문을 통하여 마방진의 생성조건에 만족하는 경우 임으로 여기서 판독할 수 있는 경우의 수는 3이상의 자연수 이다.

 

그러므로 이런 자연수 중 홀수 만의 공통점을 찾기 위하여 2로 나눌 경우 나머지가 모두 1이 나오는 경우를 조건으로 제시한 것이다.

 

위 조건문의 % 연산자는 나머지 연산자로 연산자 앞의 값을 연산자 뒤의 값으로 나눌 경우 남게 되는 나머지를 반환하는 연산자이다.

 

결론적으로 이 조건문에 의하여 3이상의 홀수만이 여기서 걸러지게 된다.

 

두번째로 else if문으로 내려오면 이미 3미만과 홀수가 걸러진 나머지 중에서, 다시 말하자면 3이상의 짝수 중에서 4의 배수만을 걸러내기 위하여 $square%4 == 0 과 같은 조건문을 입력하였다.

 

이로 인하여 다음에 오는 else문에서는 별다른 조건이 제시되지 않았다 할지라도 4의배수가 아닌 짝수, 즉 4배수+2의 수들의 집합이 됨을 알 수 있다.

 

찬찬히 뜯어보면 상당히 직관적이고 간단한 논리임으로 코드를 잘 파악해 보도록 하자.

 

다음 포스팅에서는 방금 나누어둔 3가지 경우중 홀수에 대하여 코드를 작성하도록 해보자.

태그
엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
369 Xpress Engine xe 모든 변수값 출력해 보기 LynX 2014-07-14 93724
368 Linux systemd unit 등록 옵션 LynX 2014-07-22 20455
367 Linux Install PHP 5.5.13 modules LynX 2014-06-27 11866
366 아래아 한글 웹 한글 뷰어 소스 LynX 2014-06-11 9426
365 Internet Explorer KT 인터넷 접속제한 공유기 설정 LynX 2014-01-13 9226
364 Linux lineage1 server [6] LynX 2016-01-11 9012
363 CentOS CentOS7 Mail Server Setting file [13] LynX 2015-06-13 7906
362 Server Apache HTTP Server와 Tomcat의 연동 file LynX 2014-05-20 6106
361 Windows 7 외부 윈도우 클라이언트에서 삼바서버 접속하기 LynX 2014-03-06 6030
360 CentOS7 ▒ Doly의 CentOS7 강좌13 4. 원격접속 - 3.Telnet file [8] LynX 2014-10-23 5922
359 CentOS7 ▒ Doly의 CentOS7 강좌27 10. 디스크관리 6 XFS 쿼타 file [15] LynX 2015-06-09 5732
358 CentOS7 ▒ Doly의 CentOS7 강좌29 12. 네트워크 보안설정 12.1 firewalld (2/2) [21] LynX 2015-06-09 5282
357 CentOS APM 소스설치 정리 file [18] LynX 2015-06-17 4628
356 Network VLAN 설정 ① Access mode file [27] LynX 2015-04-29 4269
355 Programing meadco print LynX 2013-12-12 4267
354 Programing Sublime Text License Keys LynX 2016-03-24 4182
353 CentOS7 ▒ Doly의 CentOS7 강좌19 6. CentOS 네트워크 5-관련 명령어 LynX 2014-10-23 4070
352 Linux musescore LynX 2015-03-28 3778
351 Linux imap-php 설치 [7] LynX 2014-09-02 3727
350 CentOS7 ▒ Doly의 CentOS7 강좌18 6. CentOS 네트워크 4-네트워크 본딩(bonding) file [10] LynX 2014-10-23 3658

XE Login