社区
Java SE
帖子详情
请教关于24算法的问题,重分酬谢
dudu81
2004-09-12 07:06:04
我想用随机出来的四个数加上任意的运算符号得出24来,新手问题,谢谢,重分酬谢
...全文
86
4
打赏
收藏
请教关于24算法的问题,重分酬谢
我想用随机出来的四个数加上任意的运算符号得出24来,新手问题,谢谢,重分酬谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Squall1009
2004-09-12
打赏
举报
回复
在vc区别人回的:
回复人: he_zhidan(何志丹:www.vcshare.net)
http://blog.csdn.net/he_zhidan/archive/2003/07/29/17012.aspx
redlaputa
2004-09-12
打赏
举报
回复
这个问题100分不值啊
你最好去c社区问问
我知道c那边有一些算法牛人
Januarius_
2004-09-12
打赏
举报
回复
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
const double PRECISION = 1E-6;
const int COUNT_OF_NUMBER = 4;
const int NUMBER_TO_BE_CAL = 24;
double number[COUNT_OF_NUMBER];
string expression[COUNT_OF_NUMBER];
bool Search(int n)
{
if (n == 1) {
if ( fabs(number[0] - NUMBER_TO_BE_CAL) < PRECISION ) {
cout << expression[0] << endl;
return true;
} else {
return false;
}
}
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
double a, b;
string expa, expb;
a = number[i];
b = number[j];
number[j] = number[n - 1];
expa = expression[i];
expb = expression[j];
expression[j] = expression[n - 1];
expression[i] = '(' + expa + '+' + expb + ')';
number[i] = a + b;
if ( Search(n - 1) ) return true;
expression[i] = '(' + expa + '-' + expb + ')';
number[i] = a - b;
if ( Search(n - 1) ) return true;
expression[i] = '(' + expb + '-' + expa + ')';
number[i] = b - a;
if ( Search(n - 1) ) return true;
expression[i] = '(' + expa + '*' + expb + ')';
number[i] = a * b;
if ( Search(n - 1) ) return true;
if (b != 0) {
expression[i] = '(' + expa + '/' + expb + ')';
number[i] = a / b;
if ( Search(n - 1) ) return true;
}
if (a != 0) {
expression[i] = '(' + expb + '/' + expa + ')';
number[i] = b / a;
if ( Search(n - 1) ) return true;
}
number[i] = a;
number[j] = b;
expression[i] = expa;
expression[j] = expb;
}
}
return false;
}
void main()
{
for (int i = 0; i < COUNT_OF_NUMBER; i++) {
char buffer[20];
int x;
cin >> x;
number[i] = x;
itoa(x, buffer, 10);
expression[i] = buffer;
}
if ( Search(COUNT_OF_NUMBER) ) {
cout << "Success." << endl;
} else {
cout << "Fail." << endl;
}
}
Squall1009
2004-09-12
打赏
举报
回复
穷举
通过机器码获得注册码的完整方案
oceanwave (2002-12-2 19:8) 1479167 想加密自己的软件,看过一些软件的作法,思路如下:1、用户安装后,得出本机的机器码(硬盘的序列号,不想用网卡,因为很多机器没有网卡)。生成机器码代码,150分2、用户将该机器码EMAIL给我,我用该机器码生成一个注册码,发送给用户。注册码生成代码,150分3、用户在程序中输入该注册码,程序逆算该注册码,与机器码核对,查看是否相符。
vb/vb.net开发精粹(22)
关于 VB 里其它过程的值传递给 Function 函数体的
问题
??? VB更改Excel自定义纸张大小怎么操作呢? 为什么我写的程序在VB环境下运行不报错,一编译运行就报错 数据导入EXCEL
问题
发个预言贴, 过一年再回来看看是否变现.有兴趣的近来凑热闹~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ excel VBA 怎么用代码 指定下拉框的选中项 vb6对64X的
WEB开发文档2 总结
转自:http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存中的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID中使用JAVASCRIPT脚本控制DataGrid中连接到下一页显示数据下载中文名文件时保存文件名乱码
问题
关于用ASP.net绘图的
问题
,请大虾指教那
MS-SQL Server 基础类 - SQL语句
我转行程序员的那一年(八)
历经求职风雨路,海阔天空任我行。 丁酉大吉 我在火车上时,凌霄的
问题
就没断,老板也着急说年前他要和清虚去搞定验收的
问题
。后来还是仁田聪明,他们怕我们赶着弄也不一定弄成什么样子,就要求把现有进度写邮件报告一下就行了!但邮件发出后凌霄又提了很多我们做的不到位的地方,还怀疑我把要求没有完全传达给清虚,实际上我每天测试完都更新表格,只是清虚太忙,改动比较慢。仁田要过年,不催进度了,老板也终于放弃了年前搞定的计划,我继续跟着清虚的开发进度更新日志——年底这两天有进展了,大概是清虚倒出时间来了。在家干活一个最大的好处
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章