root • 2年前
using namespace std; int cnt=0; //将字符串转化为数字可以用atoi(),也可以自己写一个函数 /*int transform(string s) {
int num=0;
int x=1;
for(int i=s.length()-1; i>=0; i--)
{
num+=(s[i]-'0')*x;
x*=10;
}
return num;
}*/
int main() {
int n;
cin>>n;
string num ="123456789";
do
{
for(int i=1; i<=7; i++)
{
string s1=num.substr(0,i);
int a=atoi(s1.c_str());
for(int j=1; j<=9-i-1; j++)
{
string s2=num.substr(i,j);
int b=atoi(s2.c_str());
string s3=num.substr(i+j,9-i-j);
int c=atoi(s3.c_str());
if(b%c==0&&a+(b/c)==n)
cnt++;
}
}
}
while(next_permutation(num.begin(),num.end()));
cout<<cnt<<endl;
return 0;
}
评论:
请先登录,才能进行评论