📄 assign4_2.java
字号:
//第2题: 2008奥运趣味题。要求完成下面的表达式
// a b c d e
// +2 0 0 8 5
// ------------
// f g h i j
// 其中2008表示2008年在北京举办奥运会,5表示奥运五环,所以合起来20085刚好表示2008奥运。
// 要求星号分别表示从0到9的一位数字,而且不允许重复使得上面的加法表达式成立。
//
//如上所示,c一定为9,h一定为0,否则b与g一定相等,a+2一定没有进位,则f=a+2,g=b+1,
import java.awt.*;
public class assign4_2
{
public static void main()
{
int a,b,d,e;
int h,c;
h=0;
c=9;
for(a=1;a<8;a++)
for(b=1;b<8;b++)
{
if(a==b||a==(b+1)||b==(a+2)||b==(a+1)) continue;//a,b,f,g任意两个不等
for(e=1;e<9;e++) //先判断末位数
{
if(e==a||e==b||e==a+2||e==b+1||e+5==a||e+5==b||e+5==a+2||e+5==b+1) continue;//e,j不与a,b,f,g中的任一个相等
if(e<5) //末位相加没有进位
{
for(d=3;d<8;d++) //d+8一定要有进位,而且d不等于2
{
if(d==e||d==(e+5)||e==(d-2)||e==(d-7)) continue;
else if(d==a||d==b||d==a+2||d==b+1||d-2==a||d-2==b||d-2==a+2||d-2==b+1) continue;
else //8个数全部不等
{
System.out.println("a="+a +", b="+b +",c="+c+" ,d="+d +", e="+e+ "f=" +(a+2)+ ",g="+(b+1)+", h="+h+ ",i="+(d-2) +", j="+(e+5));
}
}
}//end_if(e<5)
else if(e==5) continue;
else //e>5,e+5产生进位
{
for(d=2;d<8;d++) //d不能为1
{
if(d==e||d==(e-5)||e==d-1||e==d+4) continue;
else if(d==a||d==b||d==a+2||d==b+1||d-1==a||d-1==b||d-1==a+2||d-1==b+1) continue;
else
{
System.out.println("a="+a+ ", b="+b +",c="+c+ " ,d="+d+ ", e="+e +",f=" +(a+2)+ ",g="+(b+1)+ ", h="+h +",i="+(d-2) +" ,j="+(e+5));
}
}
}
}//end_for(e=1;e<9;e++)
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -