带分数【全排列】
n=a+b/c
1,a<n
2,b>c
3,b%c==0
#include <queue>
#include <cstdlib>
#include <cmath>
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int s[10]={0,1,2,3,4,5,6,7,8,9};
int num(int l,int r)
{
int q=0;
for(int i=l;i<=r;i++)
q=10*q+s[i];
return q;
}
int main()
{
int a,b,c;
int i,j,k;
int n;//1e6
int ans=0;
cin>>n;
do{
for(i=1;i<=5;i++)
{
a=num(1,i);
for(j=i+1;j<9;j++)
{
if((j-i)<(9-j))continue;
b=num(i+1,j);
c=num(j+1,9);
if(b%c)continue;
if(n==(a+b/c))
{
ans++;
//printf("%d %d %d\n",a,b,c);
}
}
}
}while(next_permutation(s+1,s+10));
printf("%d\n",ans);
return 0;
}