#3698. C++-循环for-子数整数(拓展02-在五位数n~m的范围内,拆分为x位的多个子数)

C++-循环for-子数整数(拓展02-在五位数n~m的范围内,拆分为x位的多个子数)

子数整数

题目描述

对于在五位数n~m(10000<=n<=m<=99999,且为正整数)的范围内(如:范围内有个五位数) a1a2a3a4a5\overline{a_1a_2a_3a_4a_5},可将其拆分为x(1<=x<=5)位的多个子数:

如x=3:

sub1=a1a2a3sub_1=\overline{a_1a_2a_3}

sub2=a2a3a4sub_2=\overline{a_2a_3a_4}

sub3=a3a4a5sub_3=\overline{a_3a_4a_5}

例如,五位数 2020720207 可以拆分成

sub1=202sub_1=202

sub2=020 (=20)sub_2=020\ (=20)

sub3=207sub_3=207

如x=4:

sub1=a1a2a3a4sub_1=\overline{a_1a_2a_3a_4}

sub2=a2a3a4a5sub_2=\overline{a_2a_3a_4a_5}

例如,五位数 2020720207 可以拆分成

sub1=2020sub_1=2020

sub2=0207 (=207)sub_2=0207\ (=207)

现在给定一个正整数 KK,要求你编程求出 n~m之间所有满足下述条件的五位数,条件是这些五位数的xx个子数 都可被 KK 整除。

输入格式

一个正整数 nn

一个正整数 mm

一个正整数 xx

一个正整数 KK

输出格式

每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出 No

输入输出样例 #1

输入 #1

10000
30000
3
15

输出 #1

22555
25555
28555
30000

输入 #2

70000
90000
4
17

输出 #2

No

输入 #3

30000
99999
4
29

输出 #3

40029
40319
40609
40899
41189
41479
41769
42059
42349
42639
42929
43219
43509
43799
44089
44379
44669
44959
45249
45539
45829
46119
46409
46699
46989
47279
47569
47859
48149
48439
48729
49019
49309
49599
49889
50174
50464
50754
51044
51334
51624
51914
52204
52494
52784
53074
53364
53654
53944
54234
54524
54814
55104
55394
55684
55974
56264
56554
56844
57134
57424
57714
58004
58294
58584
58874
59164
59454
59744

说明/提示

0<K<10000<K<1000