当前位置: 首页 > news >正文

java做网站合适吗/竞价推广运营

java做网站合适吗,竞价推广运营,有什么wordpress,某某网站安全建设方案问题既复杂又简单 问题&#xff1a;编写一个在1&#xff0c;2&#xff0c;…&#xff0c;n&#xff08;顺序不能变&#xff0c;n<9&#xff09;数字之间插入或−-−或∗*∗或/或什么都不插入&#xff0c;使得计算结果为0的程序&#xff0c;并输出所有的可能性。 在增加了“…

问题既复杂又简单

问题:编写一个在1,2,…,n(顺序不能变,n<=9)数字之间插入+或−-∗*或/或什么都不插入,使得计算结果为0的程序,并输出所有的可能性。
在增加了“∗*”和“/”符号后,程序肯定与以前的有所不同。

#include<iostream>
#include<deque>
#include<vector>
#include <math.h> 
#include<string>
using namespace std;
int n;//以'0'、'1'、'2'、替代' '、'+'、'-'进行编码
string code(string s) {for (int i = n - 2; i >= 1; i--) if (s[i] == '5') s[i] = '0',s[i - 1]++;return s;
}int main() {string base, encrypt, decode, str;cout << "请输入整数n(2~9):";cin >> n;int ct = int(pow(5, n - 1));for (int i = 1; i < n; i++) encrypt += '0';for (int i = 1; i <= n; i++)base += to_string(i);while (ct-- > 0) {encrypt = code(encrypt);//编码// decode = replace(encrypt);//解码//把运算符插入到数字中间,并剔除空格,获得字符串表达式str = "";for (int i = 0; i < n; i++) {str += base[i];if (i != n - 1 && encrypt[i] != ' ') {if (encrypt[i] == '1')str += '+';else if (encrypt[i] == '2')str += '-';else if (encrypt[i] == '3')str += '*';else if (encrypt[i] == '4')str += '/';}}/*把由“+”、“-”、“*”、“/”分割的由数字组成的字符串逐个转换成整数保存到一个数组中,运算符保存到另外一个数组中*/double data[9] = {};char op[8] = {};int position = 0, start = 0,cc = 0;//position确定运算符的位置,start确定截取的起始位置for (size_t i = 0; i <= str.size(); i++) {if (str[i] == '+' || str[i] == '-' || str[i]=='*' || str[i]=='/' || i == str.size()) {data[cc]= atof(str.substr(start, position).c_str());if(i!= str.size()) op[cc]=str[i];start = position + 1;cc++;}position++; }//开始进行运算,先乘除int mark;do {mark = 0;for (int i = 0; i < 8; i++) {if (op[i] == '*' || op[i] == '/') {if (op[i] == '*')data[i] *= data[i + 1];else if(data[i+1]!=0) data[i] /= data[i + 1];for (int j = i + 1; j < 8; j++) swap(data[j], data[j + 1]);op[i] = 'x';for (int j = i; j < 7; j++)swap(op[j], op[j + 1]);mark = 1;break;}}} while (mark != 0);//后加减for (int i = 0; i < 8; i++) {if (op[i] == '+') data[0] += data[i + 1];else if (op[i] == '-')data[0] -= data[i + 1];}if (data[0] == 0) cout << str << "=" << data[0] << endl;encrypt[n - 2]++;//下一个编码}return 0;
}

运行结果:

请输入整数n(2~9):9
123-4-5-6*7-8*9=0
12+34-56-7+8+9=0
12+34-5+6-7*8+9=0
12+34-5-6*7-8+9=0
12+3+4-5-6-7+8-9=0
12+3-45+6+7+8+9=0
12+3-45-6*7+8*9=0
12+3-4+5-6+7-8-9=0
12+3-4*56/7+8+9=0
12+3-4*5-67+8*9=0
12+3*4-5*6+7+8-9=0
12-34+5*6-7+8-9=0
12-3+4+56-78+9=0
12-3+4+5+6-7-8-9=0
12-3-4-5+6-7-8+9=0
12-3-4-5-6+7+8-9=0
12-3*4+5+67-8*9=0
12-3*4-5-67+8*9=0
12*3+45+6-78-9=0
12*3+4+56-7-89=0
12*3+4-56*7/8+9=0
12*3+4-5*6+7-8-9=0
12*3-4-56+7+8+9=0
12*3-4*56/7/8*9=0
12*3-4*5-6+7-8-9=0
12*3-4/56*7*8*9=0
12*3*4-5-67-8*9=0
12*3/4+56+7-8*9=0
12*3/4+56-7*8-9=0
12*3/4+56/7-8-9=0
12*3/4+5-6-7+8-9=0
12*3/4-56+7*8-9=0
12*3/4-56/7+8-9=0
12*3/4-56/7/8*9=0
12*3/4-5+6+7-8-9=0
12*3/4*56-7*8*9=0
12*3/4*56/7-8*9=0
12*3/4*56/7/8-9=0
12*3/4/56*7*8-9=0
12/3+4+56/7/8-9=0
12/3-45+6*7+8-9=0
12/3-45-6+7*8-9=0
12/3-4+5+67-8*9=0
12/3-4-5-67+8*9=0
12/3-4*5+6-7+8+9=0
12/3/4-5-6-7+8+9=0
12/3/4*5+67-8*9=0
1+23-4+5-6*7+8+9=0
1+23-4-5*6-7+8+9=0
1+23-4*5+6+7-8-9=0
1+23-4*5*6+7+89=0
1+23*4-5-6+7-89=0
1+2+3+4-56/7/8-9=0
1+2+3+4-5+67-8*9=0
1+2+3-4*5+6+7-8+9=0
1+2+3*4*5+6-78+9=0
1+2-34-56+78+9=0
1+2-3*4+56-7*8+9=0
1+2-3*4+56/7-8+9=0
1+2-3*4+56/7/8*9=0
1+2-3*4+5-6-7+8+9=0
1+2-3*4-56+7*8+9=0
1+2-3*4-56-7+8*9=0
1+2-3*4-56/7+8+9=0
1+2-3*4-5+6+7-8+9=0
1+2-3*4*56/7/8+9=0
1+2-3*4/56*7*8+9=0
1+2*3+45-6*78/9=0
1+2*3+4+5-6+7-8-9=0
1+2*3-4-5-6+7-8+9=0
1+2*3*4+5+6*7-8*9=0
1+2*3*4+5-6-7-8-9=0
1+2*3*4-56/7-8-9=0
1+2/3-4+5+6-78/9=0
1+2/3*45/6-7-8+9=0
1+2/3/4*5*6-7-8+9=0
1-23+4*5-6+7-8+9=0
1-23-4-56-7+89=0
1-23*4*5+6*78-9=0
1-2+3+45+6*7-89=0
1-2+3+4-5*6+7+8+9=0
1-2+3+4*5+67-89=0
1-2+3-45+6*7-8+9=0
1-2+3-4*5-6+7+8+9=0
1-2+3*4+5-6+7-8-9=0
1-2+3*4*5+6+7-8*9=0
1-2+3*4*5+6-7*8-9=0
1-2+3*4*5-6*7-8-9=0
1-2-34+5+6+7+8+9=0
1-2-34+5-6*7+8*9=0
1-2-34-5*6+7*8+9=0
1-2-34-5*6-7+8*9=0
1-2-3+45+6-7*8+9=0
1-2-3+45-6*7-8+9=0
1-2-3+4+5+67-8*9=0
1-2-3+4-5-67+8*9=0
1-2-3+4*5-6+7-8-9=0
1-2-3-4-56/7/8+9=0
1-2-3*4-56+78-9=0
1-2-3*4-5-6+7+8+9=0
1-2*3+4+5+6+7-8-9=0
1-2*3-45+67-8-9=0
1-2*3-4+56-7*8+9=0
1-2*3-4+56/7-8+9=0
1-2*3-4+56/7/8*9=0
1-2*3-4+5-6-7+8+9=0
1-2*3-4-56+7*8+9=0
1-2*3-4-56-7+8*9=0
1-2*3-4-56/7+8+9=0
1-2*3-4-5+6+7-8+9=0
1-2*3-4*56/7/8+9=0
1-2*3-4*5+6*7-8-9=0
1-2*3-4/56*7*8+9=0
1-2*3*4+5-6+7+8+9=0
1-2*3*4-56+7+8*9=0
1-2/3*4*5*6+7+8*9=0
1*23+45-67+8-9=0
1*23+4-5+67-89=0
1*23+4*5-6*7+8-9=0
1*23-45-67+89=0
1*23-4-5-6-7+8-9=0
1*2+34+5+6-7*8+9=0
1*2+34+5-6*7-8+9=0
1*2+34-5*6-7-8+9=0
1*2+3+45-67+8+9=0
1*2+3+4+56+7-8*9=0
1*2+3+4+56-7*8-9=0
1*2+3+4+56/7-8-9=0
1*2+3+4+5-6-7+8-9=0
1*2+3+4-56+7*8-9=0
1*2+3+4-56/7+8-9=0
1*2+3+4-56/7/8*9=0
1*2+3+4-5+6+7-8-9=0
1*2+3+4*56/7/8-9=0
1*2+3+4*5-6*7+8+9=0
1*2+3+4/56*7*8-9=0
1*2+3-4-5-6-7+8+9=0
1*2+3*4*5/6*7-8*9=0
1*2-34+56-7-8-9=0
1*2-3+4-5-6+7-8+9=0
1*2-3-4+5+6-7-8+9=0
1*2-3-4+5-6+7+8-9=0
1*2-3*4+56/7/8+9=0
1*2-3*4+5-67+8*9=0
1*2-3*4*5/6+7-8+9=0
1*2-3/4-5-6*7/8+9=0
1*2*34+5+6-7-8*9=0
1*2*34-5+6-78+9=0
1*2*3+4-56/7/8-9=0
1*2*3+4-5+67-8*9=0
1*2*3-4*5+6+7-8+9=0
1*2*3*4-5*6+7+8-9=0
1*2/3*45+6*7-8*9=0
1*2/3*45-6-7-8-9=0
1/2+3/4-5-6*7/8+9=0
1/2-3-45/6-7+8+9=0
1/2-3*4/56*7-8+9=0
1/2*34+5+67-89=0
1/2*34+5*6-7*8+9=0
1/2*34-5-6-7-8+9=0
1/2*34*5-6-7-8*9=0
1/2*3-45/6+7+8-9=0
1/2*3-4/56*7+8-9=0
1/2*3*4-5*6+7+8+9=0
1/2*3*4*5+6*7-8*9=0
1/2*3*4*5-6-7-8-9=0
1/2*3/4*5+6-7/8*9=0

上面的程序稍显繁复,还是要改进一下。
较之以前,有如下变动:
1、每次截取字符串起始位置采用start不变,但结束位置用实时的i表示。
2、每次运算,把结果向后保存,即data[i]与data[i+1]运算后结果保存在data[i+1]中。
3、在每次使用完乘除运算符后,用其前面的加减运算符替代(乘除运算符),data[i]使用0替代。

#include<iostream>
#include <math.h> 
#include<string>
#include<time.h>
using namespace std;
int n;//以'0'、'1'、'2'、替代' '、'+'、'-'进行编码
string code(string s) {for (int i = n - 2; i >= 1; i--)if (s[i] == '5') s[i] = '0', s[i - 1]++;return s;
}int main() {string base, encrypt, str;cout << "请输入整数n(2~9):";cin >> n;time_t t0 = clock();int ct = int(pow(5, n - 1));for (int i = 1; i < n; i++) encrypt += '0';for (int i = 1; i <= n; i++)base += to_string(i);int count = 0;while (ct-- > 0) {encrypt = code(encrypt);//编码//把运算符插入到数字中间,并剔除空格,获得字符串表达式str = "";for (int i = 0; i < n; i++) {str += base[i];if (i != n - 1) {if (encrypt[i] == '1')str += '+';else if (encrypt[i] == '2')str += '-';else if (encrypt[i] == '3')str += '*';else if (encrypt[i] == '4')str += '/';}}/*把由“+”、“-”、“*”、“/”分割的由数字组成的字符串逐个转换成整数保存到一个数组中,运算符保存到另外一个数组中*/double data[9] = {};char op[8] = {};int start = 0, m = 0;//start确定截取的起始位置,m统计运算符的个数for (size_t i = 0; i <= str.size(); i++) if (str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/' || i == str.size()) {data[m] = atof(str.substr(start, i).c_str());if (i != str.size()) op[m] = str[i];start = i + 1;m++;}//开始运算,先乘除for (int i = 0; i < m; i++) if (op[i] == '*' || op[i] == '/') {data[i + 1] = (op[i] == '*') ? data[i] * data[i + 1] : data[i] / data[i + 1];data[i] = 0;if (i > 0 && op[i - 1] == '-')op[i] = '-';}//后加减for (int i = 0; i < m; i++) data[i + 1] = (op[i] == '-') ? data[i] - data[i + 1] : data[i] + data[i + 1];if (data[m-1] == 0) {cout << str << "=" << data[m-1] << endl;count++;}encrypt[n - 2]++;//下一个编码}cout << "共有" << count << "符合条件的等式,耗时" << (double)(clock() - t0) / CLOCKS_PER_SEC << "秒。" << endl;return 0;
}
http://www.jmfq.cn/news/5243707.html

相关文章:

  • 论坛搭建教程/英文谷歌优化
  • 连云港网站建设案例/网站推广的作用
  • 重庆市建设工程造价站/佛山优化推广
  • qq钓鱼网站在线生成器/南宁seo外包服务
  • wordpress jsdelivr/班级优化大师下载安装最新版
  • 百度推广自己做网站/seo优化专员招聘
  • 仿照别的网站做/全国疫情最新
  • 网站设计什么样风格会高端些/长春网站建设技术托管
  • 石家庄新闻媒体求助热线电话/网站seo优化技能
  • 上海开发网站/合肥百度搜索优化
  • wordpress 站点语言/免费的网络推广有哪些
  • 视频网站为什么有人做/b2b网站源码
  • 德州网站建设哪家好/网站搜索排名查询
  • 电子商务网站毕业论文/搜索引擎优化的内容包括
  • 禅城网站建设价格/seo入门培训教程
  • 子网站如何做/站长之家ppt素材
  • 免费真人做爰网站/青岛seo百科
  • ckeditor 转wordpress/seo网站自动推广
  • 博客型网站建设/seo网站的优化流程
  • 广东网站建设哪家好/廊坊网站建设优化
  • 保险做的好的网站有哪些内容/安卓优化大师最新版
  • 上海圣品科技 做网站/免费的h5制作网站模板
  • 长安手机网站建设/怎样做好销售和客户交流
  • 做系统的网站/怎么开网站
  • 虚拟主机建网站/网店推广方式有哪些
  • 公司网站建设及维护/上海优化营商环境
  • 网站结构分析怎么做/潍坊关键词优化排名
  • 长春网站排名优化报价/优化seo设置
  • 做菠菜网站代理犯法吗/湖南seo优化排名
  • 公共空间设计网站/九幺seo优化神器