题目描述
对于一个五位数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<K<1000
代码:
#include<iostream>
using namespace std;
int main()
{
int k, count = 0;
cin >> k;
for(int i = 10000; i <= 30000; i++)
{
int sub1 = i / 100, sub2 = i / 10 % 1000, sub3 = i % 1000;
if(sub1 % k == 0 && sub2 % k == 0 && sub3 % k == 0)
{
cout << i << endl;
count++;
}
}
if(count == 0) cout << "No" << endl;
return 0;
}