SSL 2640——子数整数【模拟】

Description

对于一个五位数 a1a2a3a4a5,可将其拆分为三个子数: sub1=a1a2a3

sub2=a2a3a4

sub3=a3a4a5

例如,五位数 20207 可以拆分成 sub1=202

sub2=020(=20) sub3=207

现在给定一个正整数 K,要求你编程求出 10000(包括 10000)到 30000(包括 30000)之间所有满足下述条件的五位数,条件是这些五位数的三个子数 sub1,sub2,sub3 都可被 K 整除。

Input

从文件 num.in 输入,输入仅一行,为正整数 K(0

Output

输出到文件 num.out,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“-1”。

Sample Input

15
Sample Output

22555

25555

28555

30000


一道水题,直接枚举每一个部分是否可以被k整除


代码如下:

#include <iostream>
using namespace std;
int main()
{
    int a,b,k=0;
    cin>>a;
    for(b=10000;b<30001;b++)
        if((b/100)%a==0&&(b/10-b/10000*1000)%a==0&&(b%1000)%a==0){k++;cout<<b<<endl;}
    if(!k)cout<<"-1";
}
原文地址:https://www.cnblogs.com/Comfortable/p/8412323.html