题目描述
编程在算式123 45 67 8 9=N的下划线部分填上加号(+)或减号(-),使该等式成立。要求程序运行时输出该等式。(保证数据存在满足的等式)
输入要求
输入一个整数N。
输出要求
输出满足条件的等式。若不存在满足的等式,则输出"impossible"(输出不包括引号)
输入样例
100
输出样例
123+45-67+8-9=100
#include<stdio.h>
char v(int x){
char p;
if(x==-1)
p='-';
else
p='+';
return p;
}
int main()
{
int N,i=1;
int a,b,c,d;
scanf("%d",&N);
for(a=-1;a<2;a+=2){
for(b=-1;b<2;b+=2){
for(c=-1;c<2;c+=2){
for(d=-1;d<2;d+=2){
if(123+a*45+b*67+c*8+d*9==N){
printf("123%c45%c67%c8%c9=%d\n",v(a),v(b),v(c),v(d),N);
i=0;
}
}
}
}
}
if(i!=0){
printf("impossible\n");
}
return 0;
}
方法来自: