본문 바로가기

c언어 알고리즘 및 코드

send+more=money

우리가 알고 있는 send+more=money문제는 가장 유명한 복면산 문제로, 영국의 퍼즐 작가 헨리 어니스트 듀드니(Henry Ernest Dudney, 1857~1930)가 1924년 7월에 발표했다.

S

E

N

D

M

O

R

Y

9

5

6

7

1

0

8

2

출처: 나무위키

그 값이 무려 1000개가 나오니 말이다.

 

가끔 컴퓨터가 사람이 못 찾는걸 찾는 경우도 있는것 같다.참고로 원래 답은 아마 1000개의 답중 948번째 답일것이다.그러니까 이 작가는 전체 100중 0.1개를 찾은것으로 보인다.(이런 계산은 컴퓨터가 기깔나게 한다.)

#include <stdio.h> //send+more=money
int main(){

int a=0;	
for(int s=1; s<10; s++){
		for(int e=0; e<10; e++){
			for(int n=0; n<10; n++){
				for(int d=0; d<10; d++){
					for(int m=0; m<10; m++){
					for(int o=0; o<10; o++){
						for(int r=0; r<10; r++){
							for(int y=0; y<10; y++){
								if((s*1000+e*100+n*10+d)+(m*1000+o*100+r*10+e)==m*10000+o*1000+n*100+e*10+y){
									a++;
									printf("%d",a);
									printf(" %d %d %d %d %d %d %d %d\n ",s,e,n,d,m,o,r,y);
								}
							}
							
							}
						}
					}
				}
			}
		}
	}
}