[알고리즘] 하노이의 탑

[알고리즘] 하노이의 탑

/*

하노이의 탑 

http://ko.wikipedia.org/wiki/%ED%95%98%EB%85%B8%EC%9D%B4%EC%9D%98_%ED%83%91 

 

1. 한번에 하나만 이동.(모든 원반을 마지막 기둥으로.)

2. 작은원반 위로 큰 원반을 이동할 수 없다.
3. 가장위의 원반만 이동가능.

알고리즘
1. 기둥 1에서 N-1개의 원반을 기둥 2로 옮긴다
2. 기둥 1에서 1개의 원반을 기둥 3으로 옮긴다.
3. 기둥 2에서 N-1개의 원반을 기둥 3으로 옮긴다.

from 기둥에서 to기둥으로 by기둥을 이용하여 옮기기
from : 이동할 기둥
to : 이동되어질 기둥

hanoi(원반수, 이동할 기둥, 나머지기둥, 이동되어질 기둥)
*/

 

function move($from, $to) {

    printf("<br />Move from %d to %d", $from, $to);

}

 

function hanoi($n, $from, $by, $to) {

    if ($n == 1)

        move($from, $to);

    else {

        hanoi($n-1, $from, $to, $by); // 1

        move($from, $to); // 2

        hanoi($n-1, $by, $from, $to); // 3

   }

}

 

$height = 3;

printf("Height of HANOI tower is %d <br />",$height);

hanoi($height, 1, 2, 3); 

 

/* output

Height of HANOI tower is 3 


Move from 1 to 3
Move from 1 to 2
Move from 3 to 2
Move from 1 to 3
Move from 2 to 1
Move from 2 to 3

Move from 1 to 3 

*/

php 에러 출력하기

php 에러 출력하기

error_reporting(E_ALL);

ini_set("display_errors", 1);


위 두 소스를 이용하면 되는데요

 웹 호스팅을 사용하다보면 에러출력을 php.ini에서 막는 경우가 있어요


그럴 경우 위 소스를 페이지 상단에 넣어두면 에러를 출력하게 되요 

php에서 배열에 담긴 값을 중복제거 하기

php에서 배열에 담긴 값을 중복제거 하기

$array_ = array();

$array_[0] = "1";

$array_[1] = "2";

$array_[2] = "1";

 

​array_unique($array_);

 

이렇게 할 경우 이것을 출력하게 되면 1, 2만 나오게 되요

 

배열에서 중복된 값을 제거하는 명령어에요

페이지에 좋은글,책속의 한줄 랜덤으로 뿌리기

페이지에 좋은글,책속의 한줄 랜덤으로 뿌리기

book.zip



한글 다 깨지니 


페이지 상단에 밑에 태그 넣고

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


파일 저장은 UTF-8 로 반드시 해야 합니다.(메모장 또는 editplus 추천 다른 에디터는 제대로 적용안되더군요)



1.파일형식으로  코딩


밑의 코드페이지와 위의 첨부파일(book.txt)을 같은 폴더에 둡니다.



<?


$mentFile = "book.txt";  

$fp = fopen($mentFile, "r");


while(!feof($fp)) $ment[] = fgets($fp, 1024);

 





//### $ment 배열에서 랜덤키 생성

$key = array_rand($ment);

### 랜덤 생성된 명언 출력

echo $text_this=$ment[$key];


?>



2.my_sql 연동방식


 

1.테이블 생성


CREATE TABLE IF NOT EXISTS `books` (

  `no` int(11) NOT NULL AUTO_INCREMENT,

  `content` text NOT NULL,

  PRIMARY KEY (`no`),

  KEY `no` (`no`)

)


 


2.mysql 에 위에 첨부된 book.txt 집어 넣습니다.

 

phpmyadmin 에서 import 탭에서 

필드 구분자 ->   \t

필드 구분자-> content


로 하는것 유의 


방법은 서기님 강좌 참고http://vod.singsinghe.co.kr/movie/php/48/php_48.html


 




3.코딩


 

<?

$conn=mysql_connect("","","");

mysql_select_db("");




$random = rand(1,283);  //no 의 처음과 끝사이에 랜덤하게 1개 $random 변수에 지정 (db 넘버 반드시 확인 )


$query="select * from books where no='$random'"; // 랜덤 생성된 1개 no 필드에서 가져오기


$result=mysql_query($query,$conn);

$data=mysql_fetch_array($result);

$text_this=$data[1]; 



echo $text_this;




?>

 


하면 됩니다..


3.

JQuery 로 

 뿌리기 

 

 

위와 같이 바로 해도 되고..같은 폴더에 코딩 한거 두고 뿌리기 원하는 페이지에 

JQuery 로 가져 와도 됩니다.

 

 

 

 

 

<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script>

$(document).ready(function() {

 

    $("#div1").load("books.php");

 

});

 

 

</script>

</head>

<body>

 

<div id="div1"></div><div id="div"></div>

 

</body>

 

4.이쁘게 둥근 테두리로 만들기

 

 첨부된 books.php 파일 참고하세요..

여기 게시판 중간에 글이 짤리네요..너무 길어서 그런가봐요

book.zip

아버지의 눈물

아버지의 눈물


0928_3

“어디서 난 옷이냐? 어서 사실대로 말해 봐라.”

아들이 살 수 없는 고급 브랜드의 청바지를 본 순간,
아버지는 이상한 생각이 들어 아들을 다그쳤다.

자신은 환경미화원이고
아내는 작은 고물상을 운영하고 있기에,
아들이 그런 큰돈을 쓸 수 있을 리 없었다.
결국 아들은 사실을 털어놓았다.

“죄송해요. 버스 정류장에서 지갑을 가져왔어요.”

아버지는 그만 자리에 털썩 주저앉고 말았다.
“내 아들이 남의 돈을 훔치다니…”

잠시 뒤 아버지가 정신을 가다듬고 말했다.
“환경이 어렵다고 잘못된 길로 빠져서는 안 된다.”

아버지는 눈물을 흘리며 아들의 손을 꼭 잡고
경찰서로 데려가 자수를 하게했다.
자식의 잘못을 감싸기만 바쁜 세상에
뜻밖의 상황을 대면한 경찰은 
의아해하면서 조사를 시작했다.

경찰 조사 과정에서 아들의 범죄사실이 하나 더 밝혀졌고,
결국 아들은 법정까지 서게 되었다.

그 사이 아버지는 아들이 남의 돈을 훔친 것에 
가슴 아파하다가 그만…
심장마비로 세상을 떠나고 말았다.

재판이 열린 날,
어머니는 법정에서 울먹이면서 말했다.
“아들이 올바른 사람이 되기를 바랬던 남편의 뜻대로..
안타깝지만 아들에게 엄한 벌을 내려 주십시오.”

아들도 눈물을 흘렸다.
“제가 한 행동 때문에 아버지가 돌아가셨어요. 흐흐흑.”

이를 지켜보던 주위 사람들은 모두 숙연해졌다.

드디어 판결의 시간.
판사는 입을 열었다.
“불처분 하겠습니다.”

뜻밖의 판결에 어리둥절해하는 사람들에게
판사가 그 이유를 밝혔다.

“훌륭한 아버지의 뜻을 따를 것이라 믿기 때문입니다.”

==========================================

자식의 잘못을 바로잡기 위해 노력한 아버지의 마음…
자녀를 진정으로 위하는 길은 여기에 있습니다.

 

# 오늘의 명언
가지를 잘 쳐주고 받침대로 받쳐 준 나무는 곧게 잘 자라지만,
내버려 둔 나무는 아무렇게나 자란다.
사람도 이와 마찬가지여서
남이 자신의 잘못을 지적해 주는 말을 잘 듣고
고치는 사람은 그만큼 발전한다.
- 공자 -

온기를 전해주는 방법

온기를 전해주는 방법



0929_3

날씨가 쌀쌀해지면 추위를 견디기 위해 
사람들은 두꺼운 옷을 껴입고, 
동물들은 따뜻한 털이 자랍니다.

하지만 강한 추위는 맨살을 향해 …
송곳처럼 파고듭니다.

강아지와 고양이…
그리 친하지 않은 친구들이 길거리에서 만났습니다.

날씨는 쌀쌀하고
스스로 체온을 높일 수가 없었습니다.

둘은 마음이 통했는지 조금씩 서로에게 다가갑니다.
경계심을 풀고 두려움도 내려 놓았습니다.

그리고 한 몸이 되어 서로를 따뜻한 체온으로
온기를 전해줍니다.

쌀쌀한 세상에서 
서로에게 온기를 전해주는 방법을
이 친구들이 알려주네요…

==========================================

추운 곳에 온기를 전하는 것은 어렵지 않습니다.
그저 따뜻한 마음으로 다가가면 됩니다.
추위에 떠는 이에게 따뜻하게 다가가 보면 어떨까요…

 

# 오늘의 명언
관심을 받고 싶거든 다른 사람에게 관심을 표시하라.
이 점을 이해하지 않으면 아무리 능력이 있더라도
남과 사이좋게 지내기는 불가능하다.
- 로렌스 굴드 -

겁 많은 생쥐

겁 많은 생쥐



1001_2

 

# 오늘의 명언
실패에 대한 의식적 혹은 무의식적 두려움은

당신 인생의 모든 분야에서 꿈을 이루려는 당신의 능력을 방해한다.
- 스티븐 스코트 -

세상에서 가장 아름다운 문신

세상에서 가장 아름다운 문신

커다란 문신을 한 비키니 차림의 김혜선 씨..
이를 보는 사람들의 시선은
곱지만은 않았습니다.

“아니..저런 커다란 문신을 하다니…”

하지만 문신을 하게 된 이유가 무엇인지 알게 되자
사람들은 저마다 자신들의 편견을
반성하는 분위기가 되었습니다…

사실, 김 양은 아버지를 살리기 위해
자신의 한쪽 간을 내어줬던 것입니다.
때문에 젊은 아가씨의 배에 명치부터 배꼽까지
보기 흉한 흉터가 생겨버렸고,
이 수술자국을 가리기 위해 
헤나 문신을 했던 것입니다.

김 양의 문신은
세상에서 가장 아름다운 사랑이었습니다.

1002_3

모든 이에게 저마다의 사연이 있습니다.
안 좋게 보이는 상황이 있을지라도
그 사연에 귀를 기울여 보세요.
어쩌면 보석같은 일이 숨어 있을지도 모르니까요.

 

# 오늘의 명언
자기가 얼마나 자주 타인을 오해하는가를 자각하고 있다면
누구도 남들 앞에서 함부로 말하지는 않을 것이다.
- 괴테 -


집중력이 필요하다면?

집중력이 필요하다면?



1003_3

사람들은 왜 귀여운 아이들 또는 동물 사진을 좋아할까요?

귀여운 장면을 보면 호기심이 작동하고,
호기심은 세부사항에 주의를 집중시켜 
공부나 업무의 정확성을 높여준다고 합니다.

지난 2012년
일본 히로시마 대학의 히로시 니토노(통합문리대학원) 연구팀이 
‘귀여움의 힘(The Power of Kawai)’이라는 논문을
미국 온라인 과학잡지 ‘플러스원’에 발표하면서 
이 사실이 알려지게 되었습니다.

이 연구에서 니토노 교수는 ‘귀엽다’ 는 
감정이 어떤 효과가 있는지 알아내기 위해 
대학생 130명을 대상으로 두 그룹으로 나눠 
한 그룹은 강아지와 고양이의 귀여운 사진을 
90초 동안 감상하게 하고
다른 그룹은 그렇게 하지 않았습니다.

이후 두 그룹에게 장난감의 작은 부품을
핀셋으로 집어 올리게 하자,
귀여운 동물 사진을 본 학생들의
성공 개수는 44% 증가한 반면, 
그렇지 않은 그룹의 성공률은 12% 상승에 그쳤습니다.

이 뿐만이 아니었습니다.
10자리 수열 중 지정된 숫자를 찾아내는 실험에서도 
귀여운 강아지와 고양이 사진을 본 그룹의 
정답 수는 16% 상승한 반면,
성숙한 동물이나 음식, 자연 사진 등을 본 그룹은 
정답률이 거의 변하지 않았습니다.

==========================================

귀여움의 힘… 대단합니다.
따뜻한 하루 가족 여러분의 집중력 향상을 위해
귀여운 아이들이나 동물사진을
많이 공유해 드리도록 하겠습니다.

 

# 오늘의 명언
순간을 사랑하라.
그러면 그 순간의 에너지가 모든 경계를 넘어 퍼져나갈 것이다.
- 코리타 켄트 -

 

고양이 역장, 다행이 동화책

고양이 역장, 다행이 동화책



당신은 사랑받기 위해 태어난 사람

사랑만 하고 살기에도 짧은 시간들인데
우리는 우울하게도 폭력과 학대소식을 매일 접하며 살고 있습니다.

학대는 어린 시절부터 경험합니다.
때로는 피해자로… 때로는 가해자로

특히 동물들은 말을 하지 못하기 때문에 쉽게 학대의 대상이 되는데요
학대와 폭력의 시작은 동물을 대상으로 시작된다고 합니다.

얼마 전 따뜻한 하루에 소개됐던 사연 중
아름다운 철도원과 명예 역장이된 고양이 다행이 이야기가 있었습니다.

영등포역에서 아이를 구하고 두 다리를 잃은 김행균 역장이 품은 다행이
학대를 받아 오른쪽 발가락을 잃고 버림받은 고양이 한마리가 명예역장이 되기까지
다행이가 품고 있는 아련하고 따스한 이야기가 어린이용 그림책으로 만들어졌습니다.

초등학교유치원 선생님들
아이들에게 따뜻한 동화책으로 사랑을 가르쳐주세요.

아래에서 신청 후 수량에 상관없이 후원금 10,000원을 입금해 주시면 택배로 보내드리겠습니다.
(후원금은 배송료로 사용됩니다.)
국민은행 : 202601-04-457133
우리은행 : 1005-402-474945

주문수량은 개인은 최대 10권, 단체는 최대 50권까지 신청이 가능합니다.
아이들이 있는 단체또는 개인분들도 주변분들에게 선물로 신청해 주세요~

 

고양이 역장 다행이’ 동화책을 많이 사랑해 주셔서 감사드립니다.
신청하신 분들이 많아 1차 마감을 하도록 하겠습니다.

 

다행이 그림책은 사람의 품에 살던 고양이가 버려지고
누군가에 의해 발가락이 잘릴 만큼 학대받은 고양이가
아름다운 철도원을 만나 아픔을 이겨내고 희망을 공유한다는 스토리입니다.

실제로 다행이는 지난 2003년 영등포역에서 여자아이를 구하고
두 다리를 잃었던 역곡역 김행균 역장님과 역곡역에서 살고 있는 친구입니다.
국내 최초 명예역장이 된 친구죠.

이 스토리는 아이들에게 생명의 소중함과 의인에 대한 내용을 아이들에게
가르치고 싶었던 마음을 담았습니다.

직접 역곡역을 방문해 역장님과 다행이도 만나보니
마음이 뭉클 뭉클해 지는 걸 느낄 수 있었답니다.

처음에 20,000 정도를 제작해
초등학교와 유치원 등 필요한 곳에 보급할 예정이었습니다.

생각했던 것보다 더 많은 사람들이 필요로 해 주셔서
동화책을 추가로 제작을 하기로 하였습니다.

더 많은 아이들이 다행이동화책을 보고 생명의 소중함과 안전에 대해 알 수 있도록
소중한 제작 지원비를 모금하고자 합니다.

해피빈에서 모금 중이니 따뜻한 관심 부탁드리겠습니다.

>> 해피빈 모금하러가기
HTTP://ME2.DO/5BP7TW1I


곧 2차로 농어촌도서산간 지역등의
외지고 소외된 곳에 사는 아이들에게 동화책을 지원하고자 합니다.
그곳을 알고 계시거나 필요로 하는 곳에서는 2차 동화책 지원에 신청해 주시면 감사하겠습니다.

우리 아이들이 있는 곳이라면 어디든지 찾아가서 소중한 선물을 전달하는
따뜻한하루가 되겠습니다.

감사합니다.