数字谜2 C实现

本文通过解析《C语言名题精选百则技巧篇》中的数字谜题,使用C语言实现了解决方法,详细展示了从问题设定到代码实现的过程。

该问题出自《C语言名题精选百则技巧篇》

在数字谜1的基础上的练习

    SEND

+ MORE

MONEY

#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
	int S,E,N,D,M=1,O,R,Y;
	long SEND,MORE,MONEY;
	long sum;
	
	printf("\nNumber Puzzle\n");
	printf("\n    SEND");
	printf("\n+)  MORE");
	printf("\n---------");
	printf("\n   MONEY\n");
	
	for(S=8;S<=9;S++)
		for(E=1;E<=9;E++)
		    if(E!=S&&E!=M)
		        for(N=0;N<=9;N++)
		            if(N!=E&&N!=S&&N!=M)
		                for(D=1;D<=9;D++)
		                    if(D!=N&&D!=E&&D!=S&&D!=M)
		                        for(O=0;O<=1;O++)
		                            if(O!=D&&O!=N&&O!=E&&O!=S&&O!=M)
		                                for(R=0;R<=9;R++)
		                                    if(R!=O&&R!=D&&R!=N&&R!=E&&R!=S&&R!=M)
		                                        for(Y=0;Y<=9;Y++)
		                                            if(Y!=R&&Y!=O&&Y!=D&&Y!=N&&Y!=E&&Y!=S&&Y!=M){
									MONEY = (((M*10+O)*10+N)*10+E)*10+Y;
									SEND = ((S*10+E)*10+N)*10+D;
									MORE = ((M*10+O)*10+R)*10+E;
									sum = SEND+MORE;
									if(sum == MONEY){
										printf("\n\nThe answer is:\n");
										printf("\n%8ld",SEND);
										printf("\n+)%6ld",MORE);
									<span style="white-space:pre">	</span>printf("\n--------");
										printf("\n%8ld",MONEY);
								         }
					                    }
														     
														
		                                                
					
	getchar();
	return 0;
} 
运行结果



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值