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";
}