📄 count.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.*;
import java.lang.String;
public class count
{
public static void main(String args[])
{
int a,b,d,e;
int h,c,i,j;
int num;
num=0;
h=0;
c=9;
for(a=1;a<7;a++)
for(b=1;b<8;b++)
{
if(a==b||a==b+1||b==a+2||a==b-1) continue;//a,b,f,g任意两个不等
for(e=1;e<9;e++) //先判断末位数
{
if(e<5) //末位相加没有进位
{
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||e+5==9) continue;//e,j不与a,b,f,g中的任一个相等
for(d=3;d<9;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个数全部不等
{
i=d+8-10;
j=e+5;
System.out.println(" "+a+ " "+b+ " "+c+ " "+d+" "+e);
System.out.println("+ 2 0 0 8 5 ");
System.out.println("--------------------");
System.out.println("= "+(a+2)+ " "+(b+1)+ " "+h+" "+i+ " "+j);
System.out.println("");
num++;
}
}
}//end_if(e<5)
else if(e==5) continue;
else //e>5,e+5产生进位
{
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中的任一个相等
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
{
j=e+5-10;
i=d+8+1-10;
System.out.println(" "+a+ " "+b+ " "+c+ " "+d+" "+e);
System.out.println("+ 2 0 0 8 5 ");
System.out.println("--------------------");
System.out.println("= "+(a+2)+ " "+(b+1)+ " "+h+" "+i+ " "+j);
System.out.println("");
num++;
}
}
}
}//end_for(e=1;e<9;e++)
}//end_for
System.out.println("总共有"+num+"种可能");
}//main()
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -