아주 무식하게 프로그램 만들어봤습니다..^^(문제 답 구하는 프로그램)
 폰생폰사 미디어로그가기
 조회 : 1480 , 2006/01/16 10:13
// DONALD + GERALD = ROBERT
// * 힌트 1 :: 각 알파벳은 0~9까지의 숫자 중 하나
// * 힌트 2 :: D = 5

int a1 = -1; // D
int a2 = -1; // O
int a3 = -1; // N
int a4 = -1; // A
int a5 = -1; // L
int a6 = -1; // G
int a7 = -1; // E
int a8 = -1; // R
int a9 = -1; // B
int a0 = -1; // T

for(int a=0;a<10;a++)
{
a1 = a;
for(int b=0;b<10;b++)
{
if( b == a1 )
continue;
a2 = b;
for(int c=0;c<10;c++)
{
if( c == a1 || c == a2 )
continue;
a3 = c;
for(int d=0;d<10;d++)
{
if( d == a1 || d == a2 || d == a3)
continue;
a4 = d;
for(int e=0;e<10;e++)
{
if( e == a1 || e == a2 || e == a3 || e == a4)
continue;
a5 = e;
for(int f=0;f<10;f++)
{
if( f == a1 || f == a2 || f == a3 || f == a4 || f == a5)
continue;
a6 = f;
for(int g=0;g<10;g++)
{
if(g==a1||g==a2||g==a3||g==a4||g==a5||g==a6)
continue;
a7 = g;
for(int h=0;h<10;h++)
{
if(h==a1||h==a2||h==a3||h==a4||h==a5||h==a6||h==a7)
continue;
a8 = h;
for(int i=0;i<10;i++)
{
if(i==a1||i==a2||i==a3||i== a4 ||i==a5||i==a6||i==a7||i==a8)
continue;
a9 = i;
for(int j=0;j<10;j++)
{
if( j == a1 || j == a2 || j == a3 || j == a4 || j == a5 || j == a6 || j == a7 || j == a8 || j == a9)
continue;
a0 = j;

int sum1 = a1 * 100000 + a2 * 10000 + a3 * 1000 + a4 * 100 + a5 * 10 + a1;
int sum2 = a6 * 100000 + a7 * 10000 + a8 * 1000 + a4 * 100 + a5 * 10 + a1;

int sum3 = a8 * 100000 + a2 * 10000 + a9 * 1000 + a7 * 100 + a8 * 10 + a0;

if( sum3 == sum1+sum2 )
{
// complete
}
}
}
}
}
}
}
}
}
}
}
}
 
1


 
   이 게시물의 댓글 보기
  pg1313 (ID) pg1313님의 미디어로그 가기  / 06-01-16 10:14/ 이댓글에댓글달기
  너무 무식하게 짜서 욕하지 마시길..ㅠ_ㅠ
n! 로 재귀호출하면 될듯 한데..귀찮아서..지송
  tintin00 (ID) tintin00님의 미디어로그 가기  / 06-01-16 10:49/ 이댓글에댓글달기
  공백이 없어서 보기가 힘드네요. ㅡㅗㅡ

1. 각 알파벳별로 1씩 증가..
2. 동일한 값이 세팅되었을 경우에 통과.
3. 설정된 값으로 수식설정.
4. DONALD + GERALD = ROBERT 가 일치하는지 확인..

대충 이렇게 해석이되네요..
  pg1313 (ID) pg1313님의 미디어로그 가기  / 06-01-16 10:53/ 이댓글에댓글달기
  맞습니다..
VC tool 에 copy 하신후 ctrl+f8 하시면 잘 정리가 됩니다^^

효율은 떨어지지만 이해가 빠르지 않나요?
아닌가? ㅜ_ㅜ흑
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 06-01-16 11:02/ 이댓글에댓글달기
  으음....;;; 전 주로 델파이로 짜서... 요새는 C 코드 읽기가 힘들어요... ^^;;;
  tintin00 (ID) tintin00님의 미디어로그 가기  / 06-01-16 11:30/ 이댓글에댓글달기
  읽기 편하고 유지보수 쉬운게 코드는 좋습니다...
회사에서 CS 업무를 위주로 하다보니,,
맨날 뻑난 소스만 열어보니 사람 환장합니다.

일단 편하게 만들어 놓구...
원판 백업해 놓은 다음에... 최적화가 필요한 경우에 따라서 변경해 가는게 좋더군요.
  rbear (ID) rbear님의 미디어로그 가기  / 06-01-16 12:00/ 이댓글에댓글달기
  소스코드 작성시 편하게 볼 수 있게 하는 것도 중요할 듯 합니다.
과거와 달리 프로세서가 처리속도가 빨라진 상황에서 0.5초의 실행 속도 향상을 위한 코드 최적화보다는 유지보수가 편리한 쪽으로 변화되어 가는 듯..
  dualmoon (ID) / 06-01-16 12:26/ 이댓글에댓글달기
  헉;; 코드다.....ㅠㅠ
  tintin00 (ID) tintin00님의 미디어로그 가기  / 06-01-16 12:31/ 이댓글에댓글달기
  생각해 보니 소스 최적화 보다는...
DB 를 사용할 경우에는 인덱스라도 제대로 설정하는게... 훨씬 효율적입니다.
  역병창궐 (ID) 역병창궐님의 미디어로그 가기  / 06-01-16 17:11/ 이댓글에댓글달기
  응...난 왜 생각난게 GW BASIC 이지-_-;;
  makesound (ID) / 06-01-16 17:57/ 이댓글에댓글달기
  그나저나...간만에 보드나라에서 소스 보는군요...^>^ 다들 원츄!!!!
  taeki (ID) taeki님의 미디어로그 가기  / 06-01-16 20:21/ 이댓글에댓글달기
  --
갑자기..이런 소스를..
소스...싫어여.-_-;
로그인 | 이 페이지의 PC버전
Copyright NexGen Research Corp. 2010