【穷举】5 5 5 5 5=5填入操作符

原创 2013年12月05日 13:03:06

填入合适的操作符使得 5 5 5 5 5=5

可以填入+ - * / 不能添加括号。


代码如下

#include <stdio.h>
#include <stdlib.h>

int main(){
    
    char oper[]={' ','+','-','*','/'};
    int i[5];
    int sign=1,j,count=0;
    
    int num[]={0,5,5,5,5,5};//num从下标为1的开始用,0只是用来占位置。 
    
    int result=5;
    float left=0,right;
    
    for(i[1]=1;i[1]<=4;i[1]++){ 
            if(i[1]<4||num[2]!=0)          
            { for(i[2]=1;i[2]<=4;i[2]++)
              {
                  if(i[2]<4||num[3]!=0)
                  {                
                      for(i[3]=1;i[3]<=4;i[3]++)
                      {
                       if(i[3]<4||num[4]!=0)
                        {                  
                          for(i[4]=1;i[4]<=4;i[4]++)
                          {
                                 if(i[4]<4||num[5]!=0)
                                 {
                                  left=0;
                                  right=num[1];
                                  sign=1;
                                  
                                  for(j=1;j<=4;j++){
                                          
                                          switch(oper[i[j]]){
                                               case '+':
                                                    left=left+sign*right;
                                                    sign=1;
                                                    right=num[j+1];
                                                    break;
                                               case '-':
                                                    left=left+sign*right;
                                                    sign=-1;
                                                    right=num[j+1];
                                                    break;
                                               case '*':
                                                    right=right*num[j+1];
                                                    break;
                                               case '/':
                                                    right=right/num[j+1];
                                                    break;
                                                        
                                                        
                                                             
                                                             
                                                  }
                                          
                                        }
                                        
                                        if(left+sign*right==result){
                                          count++;
                                          printf("%3d:  ",count);
                                           for(j=1;j<=4;j++)
                                           printf("%d%c",num[j],oper[i[j]]);
                                           
                                           printf("%d=%d\n",num[5],result);
                                                          
                                                          
                                                          
                                                                    
                                                                    }
                                                       
                                 
                                 }
                          }
                        }
                       }
                  }  
                  }
                  }
                       
  }    
  
         if(count==0){
                printf("没有合适的解法");
                }
    
    
    
    system("pause");
    return 0;
    
    
    }


5乘5的数独游戏

3乘3的数独游戏,5乘5的数独游戏,8乘8的数独游戏
  • duzuokanyunqi1
  • duzuokanyunqi1
  • 2015年05月16日 19:47
  • 9422

listen(sockRrv,5)中5代表什么

listen(sockRrv,5)中5是代表一次只能处理5个请求吗?那如果用异步I/O模型,为什么可以处理成千上万的请求?新手,刚接触socket,希望高手能详细解答一下~...
  • oMingZi12345678
  • oMingZi12345678
  • 2014年05月08日 19:42
  • 881

Java 5*5数组的三种排列例子

java二维数组的三个例子
  • daobin543
  • daobin543
  • 2017年05月28日 13:44
  • 341

求马跳棋盘踏满5*5的国际象棋棋盘有多少种解法?

题目如图所示。#include #include #define D 8 #define N 5 using namespace std;int chessboard[N][N]; int chess...
  • sinat_18127633
  • sinat_18127633
  • 2017年03月05日 11:57
  • 829

java基础学习笔记--(-5%3)与(5%-3)的值是否一样

这个问题一上来,一脸懵逼,只知道两者的值是不一样的,前者是-2后者是2,至于为什么,不知道。但是凡事都有个为什么,深究之下,原来是属于纯粹的数学问题: n % m的定义是 n = k * m + p,...
  • hanfengzqh
  • hanfengzqh
  • 2017年08月13日 12:07
  • 515

记录利用Scrapy获取优酷分类地址和页面地址提取规则

分类,例如‘综艺类’ response.xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "yk-filter-item", ...
  • shitousenlin
  • shitousenlin
  • 2017年06月14日 09:30
  • 119

python windows错误代码 5

python windowserror 5 原文  http://www.cnphp6.com/archives/61462 在用python删除文件的时候,一直报这个错误,...
  • TheSnowBoy_2
  • TheSnowBoy_2
  • 2016年09月08日 10:16
  • 4364

vs2010 getlasterror 5

vs2010中 UAC (User Account Control的简称)
  • ren65432
  • ren65432
  • 2014年08月06日 11:03
  • 858

联网在线毁了《模拟城市5》!打造自己的城市不需要网络

对于喜欢模拟经营类游戏的玩家来说,《模拟城市5》绝对是一款经典神作,虽然它还有着些许瑕疵。在最近的采访中,本作的创意总监Ocean Quigley透露了一些游戏开发过程中所出现的问题。 ...
  • selifecn
  • selifecn
  • 2017年04月16日 20:53
  • 557

win7安装svn服务 [sc] openSCManager 失败 5 拒绝 访问拒绝

WIN7的安全权限方案,在执行其他一些操作时会让感到莫名奇妙的问题。 在安装SVN服务时就会出现如下问题: C:\Users\gushangzao>sc create SVN-Service bi...
  • duguduchong
  • duguduchong
  • 2013年03月18日 23:17
  • 10892
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【穷举】5 5 5 5 5=5填入操作符
举报原因:
原因补充:

(最多只允许输入30个字)