交互式网站设计,软文范文大全,wordpress 中国加速,西安微官网自助建站公司带分数 题目要求用一个ab/c的形式得到一个值#xff0c;而且只能在1~9里面不重复的组合。
可以对1~9进行全排列#xff0c;然后不断划分区间。
#includeiostream
#includevector
using namespace std;
int st[15];
int num[15];
int res;
int n;int calc(i…带分数 题目要求用一个ab/c的形式得到一个值而且只能在1~9里面不重复的组合。
可以对1~9进行全排列然后不断划分区间。
#includeiostream
#includevector
using namespace std;
int st[15];
int num[15];
int res;
int n;int calc(int l, int r)
{int res 0;for (int i l; i r; i){res res * 10 num[i];}return res;
}void dfs(int u)
{//分解if (u 10){for (int i 1; i 7; i){for (int j i 1; j 8; j){int a calc(0, i);int b calc(i 1, j);int c calc(j 1, 9);if (a * c b n * c){res;}}}}//组合1~9的全排列for (int i 1; i 9; i){if (!st[i]){//如果没有排列过num[u] i;st[i] true;dfs(u 1);st[i] false;num[u] -1;}}
}int main(void)
{cin n;dfs(1);printf(%d, res);return 0;
}