使用n个1,2,3进行加减运算,最后结果还是1,2,3
来源:互联网 发布:大连知润信息科技 培训 编辑:程序博客网 时间:2024/05/08 09:39
使用n个1,2,3进行加减运算,最后结果还是1,2,3。要求每次数据的运算规则都是随机的,结果值也是随机的。
struct Data{
int num; //所选的数字
int type; //数据类型,包括数字(0),加号(1)和减号(2)
int sum; //结果值
};
stack<Data> want;
一.随机一个数n和结果值n
Data t;
t.num = n;
t.sum = n;
t.type = 0;
把t放入栈中
二.随机一个运算符A与t运算(t.sum aT.type)
Data aT;
aT.num = 0;
aT.sum = 0;
aT.type = 1 or 2; //A运算符
三.随机一个数m与aT,t运算(sum = t.sum aT.type mT.num )
Data mT;
mT.num = m;
mT.sum = ?;
mT.type = 0;
如果sum合法就把aT和mT放入栈中 (mT.sum = sum)
如果sum不合法:
根据剩余的数个数进行探测极限运算,得到最大值max(之后运算每次都加3)和最小值min(之后运算每次都减3)
a.如果(min <= 1 && max >= 1) || (min <= 2 && max >= 2) || (min <= 3 && max >= 3)就可以继续后面剩余数字的运算,继续第二步
b.如果不是:
aa.纠正G次错误,重复第二步(1<=G<=3)不要过大
如果纠正k次(k<=G)错误后,符合a的条件就继续
如果不符合就选择回退:
aaa.如果是第一个数,就t出栈,回到第一步
如果不是就出栈两个(一个数字和一个运算符),回到第二步
struct Data{
int num; //所选的数字
int type; //数据类型,包括数字(0),加号(1)和减号(2)
int sum; //结果值
};
stack<Data> want;
一.随机一个数n和结果值n
Data t;
t.num = n;
t.sum = n;
t.type = 0;
把t放入栈中
二.随机一个运算符A与t运算(t.sum aT.type)
Data aT;
aT.num = 0;
aT.sum = 0;
aT.type = 1 or 2; //A运算符
三.随机一个数m与aT,t运算(sum = t.sum aT.type mT.num )
Data mT;
mT.num = m;
mT.sum = ?;
mT.type = 0;
如果sum合法就把aT和mT放入栈中 (mT.sum = sum)
如果sum不合法:
根据剩余的数个数进行探测极限运算,得到最大值max(之后运算每次都加3)和最小值min(之后运算每次都减3)
a.如果(min <= 1 && max >= 1) || (min <= 2 && max >= 2) || (min <= 3 && max >= 3)就可以继续后面剩余数字的运算,继续第二步
b.如果不是:
aa.纠正G次错误,重复第二步(1<=G<=3)不要过大
如果纠正k次(k<=G)错误后,符合a的条件就继续
如果不符合就选择回退:
aaa.如果是第一个数,就t出栈,回到第一步
如果不是就出栈两个(一个数字和一个运算符),回到第二步
0 0
- 使用n个1,2,3进行加减运算,最后结果还是1,2,3
- code for 使用n个1,2,3进行加减运算,最后结果还是1,2,3
- 对集合{1, 2, 3, …, n}中的数进行全排列,可以得到 n!个不同的排列方式
- n个8运算结果为1000?
- 输入一个n,输出结果1 2 3---经典算法
- 用Java求出1!+2!+3!+...+n!的结果
- 求1+2+3+n后的结果
- 递归的使用:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n。将输出结果保留到至少8个小数点。
- 如何使用MYSQL TIMESTAMP字段进行时间加减运算
- 求值:1!/n+3!/n*n*n+5!/n*n*n*n*n+....k!/n*n*n*n....n*n(有k个n);
- 指针的算术运算(1) 加减运算
- 对0到n^3-1区间内的n个整数进行排序
- 将日期进行加减运算
- 位运算n&(n-1)的使用
- 因数分解 因数分解是十分基本的数学运算,应用广泛。下面的程序对整数n(n>1)进行因数分解。 比如,n=60, 则输出:2 2 3 5。请补充缺失的部分。
- 递归算法,运算1-2+3-4+5-6+...+n
- 客户端产生2个随机数,分别由加减服务器端处理并返回结果(java)
- (p112)在O(n)时间内,对0到n^3-1区间内的n个整数进行排序
- 将JS代码隐藏在图片中的方法
- JAVA :JVM
- C# 委托的学习
- 支付漏洞的三种常见类型
- JavaScript 新手教程
- 使用n个1,2,3进行加减运算,最后结果还是1,2,3
- JAVA多线程机制
- android Application Component研究之Activity(二)
- NYOJ_40 公约数和公倍数
- XMPP详解
- 获取字符长度 像素点
- 数据库查询效率
- ubuntu 12.04搭建tftp服务器的安装、设置、调试
- 将js/css脚本放到png图片中的实践。