思路:用五位的数组模拟一个五位数,利用位数遍历,表示sub1,2,3,判断输出
代码:
#include<bits/stdc++.h>
using namespace std;
int a[5];
int main(){
int k,sum=5,sub1,sub2,sub3,ans=10000;
cin>>k;
a[1]=1;
for(int i=10000;i<=30000;i++){
a[sum]++;
for(sum=5;sum!=0;sum--){
if(a[sum]==5){
a[sum]=0;
a[sum-1]++;
}
sub1=a[1]*100+a[2]*10+a[3];
sub2=a[2]*100+a[3]*10+a[4];
sub3=a[3]*100+a[4]*10+a[5];
if(sub1%k==0||sub2%k==0||sub3%k==0){
cout<<a[1]*10000+a[2]*1000+a[3]*100+a[4]*10+a[5];
}
}
}
return 0;
}
第一次写(不会写评论区)所以全部空开了,见谅qwq