速算24点(C++)

相信大家小时候都玩过算24点游戏

这段C++代码可以非常快速的算出所有可行解

在VS2013,VS2010下测试可运行

#include<cstdio>
#include<iostream>
#include <cmath>
using namespace std;
//+-*/   1234
unsigned long long int xx[1001];
int x=1;
int pd;
int f1(int a, int b, int c, int d)
{
	int sum;
	pd=0;
	char s1,s2,s3;
	for (int j = 1; j <= 4; j++)
	{
		for (int k = 1; k <= 4; k++)
		{
			for (int l = 1; l <= 4; l++)
			{
				sum = 0;
				sum += a;
				switch (j)
				{
				case 1:sum += b; break;
				case 2:sum -= b; break;
				case 3:sum *= b; break;
				case 4:
					{
						if (sum%b)
						{
							sum = 9999;
						}
						else
						{
							sum /= b;
						}
					}break;
				default:
					break;
				}
				switch (k)
				{
				case 1:sum += c; break;
				case 2:sum -= c; break;
				case 3:sum *= c; break;
				case 4:
					{
						if (sum%c)
						{
							sum = 9999;
						}
						else
						{
							sum /= c;
						}
					}break;
				default:
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值