题目链接:点击打开链接
#include<stdio.h> #include<algorithm> using namespace std; int p[9],cnt[1000010]; int main() { int i,j,k,a,b,c,n,ans; for(i=0;i<9;i++) p[i]=i+1; while(next_permutation(p,p+9)) { for(i=0;i<=6;i++) for(j=i+1;j<=7;j++) { a=b=c=0; for(k=0;k<=i;k++) a=a*10+p[k];//第一个加数 for(k=i+1;k<=j;k++) b=b*10+p[k];//分子 for(k=j+1;k<9;k++) c=c*10+p[k];//分母 if(b%c==0) { ans=a+b/c; if(ans<1000000) cnt[ans]++; } } } scanf("%d",&n); printf("%d\n",cnt[n]); return 0; }
转载请注明原文地址: https://ju.6miu.com/read-6334.html