题目描述
编程在算式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 i,j,k,p,n,q=1;
scanf("%d",&n);
for(i=-1;i<2;i+=2)
{
for(j=-1;j<2;j+=2)
{
for(k=-1;k<2;k+=2)
{
for(p=-1;p<2;p+=2)
{
if(123+i*45+j*67+k*8+p*9==n)
{printf("123%c45%c67%c8%c9=%d\n",v(i),v(j),v(k),v(p),n);q=0;}
}
}
}
}
if(q==1)
printf("impossible\n");
}
改变了一下循环初值,再设置了一个函数