这道题是这次比赛的签到题,很多人都过了,我调了许久才过。总体思路用到一个STL下一个排列的东西,然后别的就没什么了,下面是我的代码。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,cnt=0,s[9]={1,2,3,4,5,6,7,8,9},a,b,c;
cin>>n;
do{
for(int i=0;i<=8;i++){
a=a*10+s[i];b=0;
for(int j=i+1;j<=8;j++){
b=b*10+s[j];c=0;
for(int k=j+1;k<=8;k++)
c=c*10+s[k];
if(a*b-c==n) cnt++;
}
}
a=b=c=0;
}while(next_permutation(s,s+9));
cout<<cnt;
}