题目描述
对于一个五位数 a1a2a3a4a5,可将其拆分为三个子数:
sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数 20207 可以拆分成
sub1=202
sub2=020 (=20)
sub3=207
现在给定一个正整数 K,要求你编程求出 10000 到 30000 之间所有满足下述条件的五位数,条件是这些五位数的三个子数 sub1,sub2,sub3 都可被 K 整除。
输入格式
一个正整数 K。
输出格式
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出 No
。
输入输出样例
输入 #1复制
15
输出 #1复制
22555 25555 28555 30000
说明/提示
0<K<1000
题解:
#include<iostream>
using namespace std;
int main(){
int k,cnt=0;
cin>>k;
for(int i=10000;i<=30000;i++){
int sub1,sub2,sub3;
sub1=i/100;
sub2=(i/10)%1000;
sub3=i%1000;
if(sub1%k==0&&sub2%k==0&&sub3%k==0){
cout<<i<<endl;
cnt++;
}
}
if(cnt==0)
cout<<"No"<<endl;
return 0;
}