无优先级别二十四点.cpp

来自「一些c++小程序」· C++ 代码 · 共 48 行

CPP
48
字号
#include<iostream.h>
const int size=4;
char ch[size-1];
void  cal(int data[],int n,double result,double re,int &sum)
{   
	if(n==size-1)
	{
		if((result-re)>-0.0000001&&(result-re)<0.0000001)
		{
			for(int i=0;i<size-1;i++)
		    	cout<<data[i]<<ch[i];
		           cout<<data[i]<<"="<<re<<endl;
				    sum++;
		}
		else
		{
			return;
		}
	}
	else
	{
		
		ch[n]='+';
	    	cal(data,n+1,result+data[n+1],re,sum);
			   ch[n]='-';
			     cal(data,n+1,result-data[n+1],re,sum);
				   ch[n]='*';
				    cal(data,n+1,result*data[n+1],re,sum);
					  ch[n]='/';
						cal(data,n+1,result/data[n+1],re,sum);
	}
	
}
void  main()
{
   int data[size],sum=0;
	cout<<"输入"<<size<<"个数据!"<<endl;
	  for(int i=1;i<=10;i++)
		  for(int j=1;j<=10;j++)
			  for(int k=1;k<=10;k++)
				  for(int p=1;p<=10;p++)
				  {
					  data[0]=i;data[1]=j;data[2]=k;data[3]=p;
					   cal(data,0,data[0],24,sum);
				  }
		       cout<<"一共是:"<<sum<<"个!"<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?