/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:main.cpp
* 作 者:孔云
* 完成日期:2013年12月23日
* 版 本 号: v1.0
* 输入描述:有等式[※×(※3o※)]^2=8※※9,其中※处为1个数字,o处为四种运算符号,滴上了墨水无法辨认,编程序找出数字和运算符。
* 问题描述:几处未知数字分别为a,b,c,d,e,用循环结构列举情况求解
*/
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,e,t;
for(a=0; a<10; a++)
{
for(b=0; b<10; b++)
{
for(c=0; c<10; c++)
{
for(d=0; d<10; d++)
{
for(e=0; e<10; e++)
{
t=a*(b*10+3+c);
if(t*t==8000+d*100+e*10+9)
{
cout<<"可能的式子为:["<<a<<"×("<<b<<"3+"<<c<<")]^2=8"<<d<<e<<"9"<<endl;
}
t=a*(b*10+3-c);
if(t*t==8000+d*100+e*10+9)
{
cout<<"可能的式子为:["<<a<<"×("<<b<<"3-"<<c<<")]^2=8"<<d<<e<<"9"<<endl;
}
t=a*((b*10+3)*c);
if(t*t==8000+d*100+e*10+9)
{
cout<<"可能的式子为:["<<a<<"×("<<b<<"3×"<<c<<")]^2=8"<<d<<e<<"9"<<endl;
}
if(c!=0)
{
t=a*((b*10+3)/c);
if(t*t==8000+d*100+e*10+9)
{
cout<<"可能的式子为:["<<a<<"×("<<b<<"3÷"<<c<<")]^2=8"<<d<<e<<"9"<<endl;
}
}
}
}
}
}
}
return 0;
}
心得体会:这个程序在前一个程序基础上做起来相对容易些,不过,对输出结果应该多多领悟,在纸上与机上操作还是有区别的,还有,当运算符号为除号时,分母不能为零可视为隐形条件,这个要考虑到。