算法训练 寒假作业

现在小学的数学题目也不是那么好玩的。
看看这个寒假作业:
每个方块代表1~13中的某一个数字,但不能重复。
比如:
 6  + 7 = 13
 9  - 8 = 1
 3  * 4 = 12
 10 / 2 = 5
 
以及:
 7  + 6 = 13
 9  - 8 = 1
 3  * 4 = 12
 10 / 2 = 5
 
就算两种解法。(加法,乘法交换律后算不同的方案)
 
你一共找到了多少种方案?
 
请填写表示方案数目的整数。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

#include<stdio.h>
char a[13];
char isok(int index)//为什么是char类型 
{
	for(int i=0;i < index;i++)
	  if(a[i] == a[index])
	  return 0;
	return 1;
}
int main()
{
	int lenth = 0;
	for(a[0] = 1;a[0] < 14;a[0]++)
	{
		if(!isok(0)) continue;
		for(a[1] = 1;a[1] < 14;a[1]++)
	{
		if(!isok(1)) continue;
		for(a[2] = 1;a[2] < 14;a[2]++)
	{
		if(!isok(2)) continue;
		for(a[3] = 1;a[3] < 14;a[3]++)
	{
		if(!isok(3)) continue;
		for(a[4] = 1;a[4] < 14;a[4]++)
	{
		if(!isok(4)) continue;
		for(a[5] = 1;a[5] < 14;a[5]++)
	{
		if(!isok(5)) continue;
		for(a[6] = 1;a[6] < 14;a[6]++)
	{
		if(!isok(6)) continue;
		for(a[7] = 1;a[7] < 14;a[7]++)
	{
		if(!isok(7)) continue;
		for(a[8] = 1;a[8] < 14;a[8]++)
	{
		if(!isok(8)) continue;
		for(a[9] = 1;a[9] < 14;a[9]++)
	{
		if(!isok(9)) continue;
		for(a[10] = 1;a[10] < 14;a[10]++)
	{
		if(!isok(10)) continue;
		for(a[11] = 1;a[11] < 14;a[11]++)
	{
		if(!isok(11)) continue;*/
		if(a[0]+a[1] == a[2]&&a[3]-a[4] == a[5]&&a[6]*a[7] == a[8]&&a[9]/a[10] == a[11])
		{
			printf("%d + %d = %d\n",a[0],a[1],a[2]);
			printf("%d - %d = %d\n",a[3],a[4],a[5]);
			printf("%d * %d = %d\n",a[6],a[7],a[8]);
			printf("%d / %d = %d\n",a[9],a[10],a[11]);
			lenth++;
		 } 
	} 
	} 
	} 
	} 
	} 
	} 
	} 
	} 
	}
	} 
	} 
	} 
	printf("%d",lenth);
 } 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值