zoukankan      html  css  js  c++  java
  • 1103 计算等式

    1103 计算等式

    题目描述

    编程在算式123_45_67_8_9=N的下划线部分填上加号(+)或减号(-),使该等式成立。要求程序运行时输出该等式。(保证数据存在满足的等式)

    输入要求

    输入一个整数N。

    比如 100

    输出要求

    输出满足条件的等式。若不存在满足的等式,则输出"impossible"(输出不包括引号)
    比如 123+45-67+8-9=100

    AC代码

    暴力枚举就可以了

    #include <bits/stdc++.h>
    using namespace std;
    int f=0,n;
    char ch[4];
    int num[4]={45,67,8,9};
    void dfs(int x,int sum)
    {
    	if(f) return ; //减支 
    	if(x==4) 
    	{
    		if(sum==n) 
    		{
    			f=1;
    			printf("123%c45%c67%c8%c9=%d
    ",ch[0],ch[1],ch[2],ch[3],n);
    		}
    		return ;
    	}
    	ch[x] ='+';
    	dfs(x+1,sum+num[x]); //加法
    	ch[x] ='-';
    	dfs(x+1,sum-num[x]); //减法 
    }
    int main()
    {
    	cin>>n;
    	dfs(0,123);
    	if(!f)  cout<<"impossible"<<endl;
    	return 0; 
    }  
    
  • 相关阅读:
    css gridlayout
    css position 属性
    简单的登陆界面
    introduce
    Event flow
    constructor和object的区别
    10th week (1)
    编程语言的历史和发展
    正则表达式的验证匹配
    js正则替换
  • 原文地址:https://www.cnblogs.com/xxhao/p/14301495.html
Copyright © 2011-2022 走看看