湊算式
b def
a + --- + ------- = 10
c ghi
這個算式中ai代表19的數字,不同的字母代表不同的數字。
比如:6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。
其實在看到這個題的時候,我首先想到的是for迴圈暴力解法,因為是填空題嘛,就沒有時間和記憶體的要求。
1、for迴圈暴力法
#include
intmain()
}}}}
}}}}
}}}}
}}}printf
("%d"
,s);
return0;
}
~ - ~||額,好像是在發龜派氣功波||
2、遞迴回溯演算法
#include
int a=
;int sum=0;
voidf(
int x)
for(
int i=x;i<
9;i++)}
intmain()
嗯,這個看起來就要好很多了。
不過不管是用那乙個方法,再寫這個地方的時候if((bn+cm)/(cn)==10-a&&(bn+cm)%(cn)==0)一定把「/」的後面的c*n用括號括起來,否則就會和我一樣導致此題結果為0;然後糾結好久-_-||。
__ =_________________________________
剛剛看到乙個解法,雖然也是暴力for迴圈法,但是少了(bn+cm)%(c*n)==0的判斷條件
3、
#include
intmain()
}}}}
}}}}
}}printf
("%lf"
,count)
;return0;
}
額,雖然這個看起來也很。。。。。。但是我想把第乙個和這個做乙個比較。如果你把第乙個**中的(bn+cm)%(cn)==0判斷條件去掉,結果是完全不一樣的。
第三個**用的是double型的雙浮點數。而浮點運算時,由於精度的問題,涉及到了四捨五入。而強制型別轉換int的結果只保留整數部分。所以要加上(bn+cm)%(cn)==0判斷條件去判斷是不是整除。不過我想說這兩個結果差的也太。。。。-_-||
藍橋杯 湊算式
湊算式b def a 10 c ghi 如果顯示有問題,可以參見 圖1.jpg 這個算式中a i代表1 9的數字,不同的字母代表不同的數字。比如 6 8 3 952 714 就是一種解法,5 3 1 972 486 是另一種解法。這個算式一共有多少種解法?注意 你提交應該是個整數,不要填寫任何多餘的...
藍橋杯 湊算式
湊算式 如果顯示有問題,可以參見 圖1.jpg 這個算式中a i代表1 9的數字,不同的字母代表不同的數字。比如 6 8 3 952 714 就是一種解法,5 3 1 972 486 是另一種解法。這個算式一共有多少種解法?注意 你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。分析 dfs暴...
藍橋杯 湊算式
湊算式 b def a 10 c ghi 如果顯示有問題,可以參見 圖1.jpg 這個算式中a i代表1 9的數字,不同的字母代表不同的數字。比如 6 8 3 952 714 就是一種解法,5 3 1 972 486 是另一種解法。這個算式一共有多少種解法?注意 你提交應該是個整數,不要填寫任何多餘...