?? count.java
字號(hào):
//第2題: 2008奧運(yùn)趣味題。要求完成下面的表達(dá)式
// a b c d e
// +2 0 0 8 5
// ------------
// f g h i j
// 其中2008表示2008年在北京舉辦奧運(yùn)會(huì),5表示奧運(yùn)五環(huán),所以合起來(lái)20085剛好表示2008奧運(yùn)。
// 要求星號(hào)分別表示從0到9的一位數(shù)字,而且不允許重復(fù)使得上面的加法表達(dá)式成立。
//
//如上所示,c一定為9,h一定為0,否則b與g一定相等,a+2一定沒(méi)有進(jìn)位,則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任意兩個(gè)不等
for(e=1;e<9;e++) //先判斷末位數(shù)
{
if(e<5) //末位相加沒(méi)有進(jìn)位
{
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中的任一個(gè)相等
for(d=3;d<9;d++) //d+8一定要有進(jìn)位,而且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個(gè)數(shù)全部不等
{
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產(chǎn)生進(jìn)位
{
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中的任一個(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()
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -