问题描述
对于一个五位数 a1a2a3a4a5,可将其拆分为三个子数: sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数 20207 可以拆分成 sub1=202 sub2=020(=20) sub3=207
现在给定一个正整数 K,要求你编程求出 10000(包括 10000)到 30000(包括 30000)之间所有满足下述条件的五位数,条件是这些五位数的三个子数 sub1,sub2,sub3 都可被 K 整除。
样例输入
15
样例输出
22555
25555
28555
30000
算法讨论
水题,暴力。
var
i,j,n,m,s:longint;
st,st1:string;
f,flag:boolean;
begin
assign(input,'num.in'); reset(input);
assign(output,'num.out'); rewrite(output);
read(n);
m:=10000;
while m<=30000 do
begin
f:=false;
str(m,st);
for i:=1 to 3 do
begin
st1:='';
for j:=i to i+2 do
st1:=st1+st[j];
val(st1,s);
if s mod n=0
then f:=true
else begin
f:=false;
break
end
end;
if f
then begin
writeln(st);
flag:=true
end;
inc(m)
end;
if flag=false
then write(-1);
close(input); close(output)
end.
Pixiv ID:53183696