有下图的题解,请用 C/C++ 代码来列出满足下图 0-100 内的所有答案。
分析:
a1+a2-9=4 (1)
a4-a5*a6=4 (2)
a7+a8-a9=4 (3)
a1+a4/a7=4 (4)
a2-a5*a8=4 (5)
9-a6-a9=4 (6)
分析上面六个式子,由方程(4)则a1<=4范围一下缩小了很多
另外由(6)a6+a9=5,则a6<=5,a9<=5;那么a6是否是另一个要确定的数呢?假设是,我们继续往下算,这样0=
public class Test02Numbers {
public static void numbers(){
float a1,a2;
float a3=9;
float a4,a5,a6;
float a7,a8,a9;
int n=0;
for(int i=0;i<=4;i++){
for(int j=0;j<=9;j++){
a1=(float) (i/1.0);
a7=(float) (j/1.0);
a2=13-a1;
a4=(4-a1)*a7;
a8 = (a2-4)*(9-a7) / (a2+a4-8);
if(a8>100||a8<0)
continue;
a6=9-a7-a8;
if(a6>100||a6<0)
continue;
a9=5-a6;
if(a9>100||a9<0)
continue;
a5=(a2-4)/a8;
if(a5>100||a5<0)
continue;
System.out.print(a1+"\t\t");
System.out.print(a2+"\t\t");
System.out.print(a3+"\t\t");
System.out.println();
System.out.print(a4+"\t\t");
System.out.print(a5+"\t\t");
System.out.print(a6+"\t\t");
System.out.println();
System.out.print(a7+"\t\t");
System.out.print(a8+"\t\t");
System.out.print(a9+"\t\t");
System.out.println();
System.out.println("****************");
}
}
}
public static void main(String[] args) {
numbers();
}
}