软件工程今日总结
两个小时
200
include<bits/stdc++.h>
using namespace std;
int t,n,a[10]={0,1,2,3,4,5,6,7,8,9},ans;
int main(){
cin>>n;
while(1){
int x=0;
for(int i=1;i<=7;i++){
x=x10+a[i];
int y=0;
for(int j=i+1;j<=8;j++){//枚举断点
y=y10+a[j];
int z=0;
for(int k=j+1;k<=9;k++){
z=z*10+a[k];
}
if(y%z0&&x+y/zn){//判断是否满足条件
ans++;//满足则答案+1
}
}
}
next_permutation(a+1,a+9+1);
//检查,如果此时的全排列又回到第一次的,则跳出循环
bool ok=0;
for(int i=1;i<=9;i++){
if(a[i]!=i){
ok=1;
break;
}
}
if(!ok) break;
}
cout<<ans;
return 0;
}
这是一个蓝桥杯普及接近进阶的题

浙公网安备 33010602011771号