C++编程有趣的标题1 于1~9填写的运算结果的中间符号等于100
于1 2 3 4 5 6 7 8 9将九个数字“+”要么“-”符号使得结果100,编程的所有组合。
注意:数字顺序不能改变
<pre name="code" class="cpp">nclude <stdio.h>
#include <iostream>
#include <memory.h> #define NUM 6561 //3^8:6561
using namespace std;
int mici(int x, int i) //求解x^i
{
int res = 1;
for (; i>0; i--)
{
res *= x;
}
return (res);
} int main(int argc, char *argv[])
{
int data[9];
int index, level;
int i, j, k=0;
int pre_sign;
int temp = 0;
int sum = 0;
int x = 2; for (i=0; i<NUM; i++) //总共同拥有6561种可能
{
memset(data, 0, sizeof(int)*9); //清零
index = i;
for (level=9; level>1; level--) //有8处符号须要推断
{
pre_sign = index%3; //该空的符号,规定0:+,1:-。2:连接
index = index/3; //往上一层(即上一个空)的位置
switch(pre_sign)
{
case 0:
if (temp == 0)
{
data[k] = level;
}
else
{
data[k] = temp;
temp = 0;
x = 2;
}
k++;
break;
case 1:
if (temp == 0)
{
data[k] = 0 - level;
}
else
{
data[k] = 0 - temp;
temp = 0;
x = 2;
}
k++;
break;
case 2:
if (temp == 0)
{
temp = level + (level-1)*10;
}
else
{
temp = temp + (level-1)*mici(10,x);
x++;
}
break;
default:
break;
}
} if (pre_sign == 2) //处理数字1
{
data[k] = temp;
}
else
{
data[k] = 1;
}
k = 0; //将这些变量复位非常重要。以免影响下一轮。
temp = 0;
x = 2; for (j=0; data[j]!=0; j++) //求和
{
sum = sum + data[j];
} if (sum == 100)
{
for (j=j-1; j>=0; j--) //逆序输出,这样1在前面
{
if (data[j] >0)
{
cout<<"+"<<data[j];
}
else
{
cout<<data[j];
}
}
cout<<" = "<<sum<</*"....."<<i<<*/endl; //i for test
}
sum = 0;
}
return(0);
}
</pre><pre name="code" class="cpp">
这是我在网上无意间看到的,认为非常有意思,自己就在电脑上试了一下,100多行源码打了半个多小时。最后也还是出现了错误。最后在一个专业的学长的帮助下攻克了问题,原来是编译器的不同导致的。 看来还得好好了解下不同编译器导致的不同问题啊。还有 凝视中尽管说有6561种可能,但不知道为什么最后仅仅出现了11种。有待加强改进啊
相信自己有朝一日可以自己写出此代码,继续加油!。。 酒吧 年青^0^
版权声明:本文博主原创文章。博客,未经同意不得转载。
C++编程有趣的标题1 于1~9填写的运算结果的中间符号等于100的更多相关文章
- php权威编程有趣部分
1.isset empty如果遇到null,isset判断为false;empty 判断为trueisset(var1, var2,...) 可以判断多个变量 2.unsetunset可以取消之前定义 ...
- Java编程的逻辑 (4) - 整数的二进制表示与位运算
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
- C语言编程学习:写的秒速计算四则混合运算项目
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- Java并发编程(08):Executor线程池框架
本文源码:GitHub·点这里 || GitEE·点这里 一.Executor框架简介 1.基础简介 Executor系统中,将线程任务提交和任务执行进行了解耦的设计,Executor有各种功能强大的 ...
- 编程架构演化史:远古时代,从打孔卡(Punched Card)开始
回想读书时记录到书本里的打孔纸带编程,到初学编程接触到的C语言高级编程,再到C++.Java面向对象语言产生:从面向过程系统设计 到面向对象系统设计:从三层结构到MVC.MVP.MVVM:从主机到虚拟 ...
- 转载:[转]如何学好3D游戏引擎编程
[转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的 ...
- C#函数式编程
提起函数式编程,大家一定想到的是语法高度灵活和动态的LISP,Haskell这样古老的函数式语言,往近了说ruby,javascript,F#也是函数式编程的流行语言.然而自从.net支持了lambd ...
- Scalaz(54)- scalaz-stream: 函数式多线程编程模式-Free Streaming Programming Model
长久以来,函数式编程模式都被认为是一种学术研究用或教学实验用的编程模式.直到近几年由于大数据和多核CPU的兴起造成了函数式编程模式在一些实际大型应用中的出现,这才逐渐改变了人们对函数式编程无用论的观点 ...
- 函数响应式编程(FRP)—基础概念篇
原文出处:http://ios.jobbole.com/86815/. 一函数响应式编程 说到函数响应式编程,就不得不提到函数式编程,他们俩有什么关系呢?今天我们就详细的解析一下他们的关系. 现在下面 ...
随机推荐
- oracle数据库单个数据文件的大小限制
之前没有仔细想过这个问题,因为总是不会用到,也没有犯过类似错误. 顺便提一下学习方法吧. 卤肉的学习方法是:常用知识点,熟悉理论并反复做实验,深入理解:不常用的知识点,相关内容都了解大概,遇到问题时想 ...
- 上mongodb创建一些吸取的经验教训指数
想来接触mongodb它已经快一年了,对于其指数已经积累了很多的经验,知识,以这个夜黑风高的优势,放mongodb总结一番吧. 一,索引介绍 mongodb具有两类索引,分别为单键索引和复合索引. 1 ...
- GNU C的使用
基本语法 gcc [options] [filenames] 说明: 在gcc后面可以有多个编译选项,同时进行多个编译操作.很多 的gcc选项包括一个以上的字符.因此你必须为每个选项指定各 自 ...
- Android-2手机应用程序,短信应用
Activity生命周期 Android的核心组件 1.Viiew :界面 ,组织UI控件 2.Intent :意图,支持组件之间的通信 3.Activity:处理界面与UI互动 4.Conten ...
- c4Droid
c4可以让用c/c++写的源码打包成apk安装包,支持Console.SDL.Qt. NativeActivity 等一系列扩展库,可以用来写软件,也可以用来写游戏,是手机端练习c/c++的神器.c4 ...
- H3C低端交换机MAC绑定
1.MAC地址和端口的绑定<h3c>system[h3c]interface e0/1[h3c-interface]mac-address max-count #关闭交换机端口的MAC学习 ...
- sql大小转换函数
将字段值转换成大写 UPDATE t SET [name]=UPPER([name]) 将字段值转换成小写 UPDATE t SET [name]=LOWER([name])
- (转)SWT的CheckBoxTreeViewer的相关用法
最近在项目中需要用到遍历某个目录下所有文件,并按照树形结构展示,同时还需要提供对树形菜单的选择展开等操作.在eclipse中提供了CheckboxTreeViewer组件来满足所需要的功能 下面是需要 ...
- Extjs4.0.7 实现Grid的嵌套
网上相关资料非常少,我看过的大多是Extjs 3.0 急以前版本的解决方案. 比如:http://mikhailstadnik.com/ext/examples/nested-grid.htm (E ...
- Linux下忘记rootpassword怎么办?
1.首先确认server出于安全的状态.也就是没有人可以随意地连接MySQL数据库. 由于在又一次设置MySQL的rootpassword的期间,MySQL数据库全然出于没有password保护的 ...