소 ê°� ¶
05/7/11
ì—시 ì›�시ì �ì�´ê²Œ 코드를 짰다 ã…
다르게 짤 ��중..
처ì�Œì—� í�¬ì�¸í„° ì—�러가 나서, 혼났다 ã…
í—‰ !! í–‰, ì—´ì—� 해당하는 숫ìž�ë§Œ ì¶œë ¥í•˜ëŠ” 것ì�´ì—ˆë‹¤.
ver.2 ë§Œë“¤ì–´ì•¼ê² ë‹¤.
ver.3 파스칼삼ê°�형 코딩한다니까. ë³´ì°½ì˜¤ë¹ ê°€ í�˜ë ¤ê°€ëŠ” ë§�로 "재귀함수로 짜면 ë�˜ì§€ 않ëƒ�" ê³ í–ˆë�˜ ë§�ì�´ ìƒ�ê°�나서
짜봤다. 메모리 ë‚비없ì�´ ê¹”ë�”하긴 한ë�°, ì œëŒ€ë¡œ ì§ ê±´ì§€ ëª¨ë¥´ê² ë‹¤. 재귀함수는 ì–´ì©” ë•� 헷갈린다.
ì—시 ì›�시ì �ì�´ê²Œ 코드를 짰다 ã…
다르게 짤 ��중..
처ì�Œì—� í�¬ì�¸í„° ì—�러가 나서, 혼났다 ã…
ver.2 ë§Œë“¤ì–´ì•¼ê² ë‹¤.
짜봤다. 메모리 ë‚비없ì�´ ê¹”ë�”하긴 한ë�°, ì œëŒ€ë¡œ ì§ ê±´ì§€ ëª¨ë¥´ê² ë‹¤. 재귀함수는 ì–´ì©” ë•� 헷갈린다.
소 스 ¶
ver.1 - 파스칼 삼ê°�형 ì „ì²´ ì¶œë ¥ ¶
~cpp
#include <stdio.h>
void pascal_tri(int pascaltri[][100], int row);
void main()
{
int pascaltri[100][100];
int row;
printf("í–‰ì�„ ìž…ë ¥ :");
scanf("%d", &row);
pascal_tri(pascaltri, row);
}
void pascal_tri(int pascaltri[][100], int row)
{
int i,j;
for(i = 0; i < row; i++)
{
pascaltri[i][0] = 1;
pascaltri[i][i] = 1;
}
for(i = 2; i < row; i++)
{
for(j = 1; j < i; j++)
{
pascaltri[i][j] = pascaltri[i-1][j-1] + pascaltri[i-1][j];
}
}
for(i = 0; i < row; i++)// print
{
for(j = row; j > i; j--)
{
printf(" ");
}
for(j = 0; j <= i; j++)
{
printf("%d ", pascaltri[i][j]);
}
printf("n");
}
}
ver.2 í–‰,ì—´ì—� 해당하는 숫ìž� ¶
~cpp
#include <stdio.h>
void pascal_tri(int pascaltri[][100], int row, int col);
void main()
{
int pascaltri[100][100]; // ì�´ 부분ì�„ 어떻게 ë�” 효율ì �으로 바꿀 것ì�¸ê°€..->ver.3
int row, col;
while(1)
{
printf("ì°¾ê³ ìž� 하는 ì—´, í–‰ì�„ 차례로 ìž…ë ¥ :");
scanf("%d %d", &col, &row);
if(col >= row){
break;
}else{
printf("다시 ìž…ë ¥í•´ 주세요...n");
}
}
pascal_tri(pascaltri, col, row);
}
void pascal_tri(int pascaltri[][100], int col, int row)
{
int i,j;
for(i = 0; i < 100; i++)
{
pascaltri[i][0] = 1;
pascaltri[i][i] = 1;
}
for(i = 2; i < 100; i++)
{
for(j = 1; j < i; j++)
{
pascaltri[i][j] = pascaltri[i-1][j-1] + pascaltri[i-1][j]; // ì�´ for 문들 ì—시 ver.3ì—�서 ë�” ë‚˜ì•„ì ¸ì•¼ 함.
}
}
printf("%dì—´ %dí–‰ = %dn", col, row, pascaltri[col-1][row-1]);
}
ver.3 - ë�” 나ì�€ 소스 ¶
~cpp
#include <stdio.h>
int pascal_tri(int row, int col);
void main()
{
int row, col, result;
while(1)
{
printf("ì°¾ê³ ìž� 하는 ì—´, í–‰ì�„ 차례로 ìž…ë ¥ :");
scanf("%d %d", &col, &row);
if(col >= row){
break;
}else{
printf("다시 ìž…ë ¥í•´ 주세요...n");
}
}
result = pascal_tri(col, row);
printf("%dì—´ %dí–‰ = %dn", col, row, result);
}
int pascal_tri(int col, int row)
{
if(row == 1 || col == row){
return 1;
}else{
return pascal_tri(col-1, row-1) + pascal_tri(col-1, row);
}
}
나한테 í• ë§� ¶
ê·¸ë¦¬ê³ ë¬¸ì œê°€ '파스칼 삼ê°�형ì�„ ì¶œë ¥í•˜ì‹œì˜¤.' ê°€ 아니었ë�˜ê±° ê°™ì�€ë�°?? 다시 보는게..
ã…Žã…Ž 난 ìž ì‹œ 겜방ì—� 온거니 다시 ì�¼í•˜ëŸ¬ 가야 ë�˜ì„œ ë§�야.. ìž�세히는 ëª»ë³´ê² ì–´.
그러니 ìž�세한 사í•ì�€ í•„ìš”í• ë•Œ 'ìž�기야'ì—�게 물어보ë�¼êµ¬^^ - 조현태
지금 나ì�˜ 머리는 터질 듯 아프단다. ^^; í�¬ì�¸í„° 때문ì—� ë�°ì—¬ê°–ê³ -.ã… ì†ŒìŠ¤ë¥¼ 아예 바꾸는 í�° 공사를 치뤘기 때문ì—� ã…
ì—‡~ ì•„ì˜�ì�´ 누나ë�„ 처ì�Œì—” ì›�시ì �으로 짜셨네요~^^;; 후후.. 재귀함수로 ì�´ë ‡ê²Œ 짤수있는거군요 센스 =ã……=b - 김준ì„�
좀 있다 ìƒ�ê°�해보마 ã…‹ã…‹ ê·¸ë¦¬ê³ ì†Œê°� ì�½ì–´ì£¼ê¸¸.. ë¬¸ì œ 잘못 푼것ì�„ 나중ì—� 알았단다 ã…‹--ì•„ì˜�
ã…Žã…Žã…Ž 소ê°� 위ì�˜ 세줄ì�€ ì�½ê³ 기억했는ë�°, ë°‘ì�˜ ë‘�줄ì�€ 못봤어.ã…Žã…Ž
2ì°¨ ì�´ìƒ�ì�˜ ë°°ì—´ì�„ í�¬ì�¸í„°ë¡œ 넘기는건 ê³ ìƒ�ì�¸ë�° ë§�야.^^
ê³ ìƒ�í–ˆê² ë„¤..^^ í�¬ì�¸í„°..ã…Žã…Žã…Ž 그래ë�„ ì¦�ê±°ìš´ 하루. ì¦�ê±°ìš´ 코딩 ë�˜ë�¼êµ¬.. ì§„ì§œ ì�¼í•˜ëŸ¬ ê°€ì•¼ê² ë‹¤ 뱌뱌~~ - 조현태
2ì°¨ ì�´ìƒ�ì�˜ ë°°ì—´ì�„ í�¬ì�¸í„°ë¡œ 넘기는건 ê³ ìƒ�ì�¸ë�° ë§�야.^^
ê³ ìƒ�í–ˆê² ë„¤..^^ í�¬ì�¸í„°..ã…Žã…Žã…Ž 그래ë�„ ì¦�ê±°ìš´ 하루. ì¦�ê±°ìš´ 코딩 ë�˜ë�¼êµ¬.. ì§„ì§œ ì�¼í•˜ëŸ¬ ê°€ì•¼ê² ë‹¤ 뱌뱌~~ - 조현태
LittleAOI 파스칼삼�형










