题目描述
对于一个五位数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
代码
using namespace std;
int main()
{
int k,t=
0,a,b,c,d,e,s1,s2,s3;
cin>>k;
for(
int i=
10000;i<=
30000;i++)
{
a=i/
10000;
b=(i-a
*10000)/
1000;
c=(i-a
*10000-b
*1000)/
100;
d=(i-a
*10000-b
*1000-c
*100)/
10;
e=i
;
s1=a
*100+b
*10+c;
s2=b
*100+c
*10+d;
s3=c
*100+d
*10+e;
if (s1
%k==
0&&s2
%k==
0&&s3
%k==
0)
{
printf (
"%d\n",i);
t++;
}
}
if(t==
0)cout<<
"No";
return 0;
}