题目描述
对于一个五位数abcde,可将其拆分为三个子数:
sub1=abc
sub2=bcd
sub3=cde
例如,五位数20207可以拆分成
sub1=202
sub2=020(也就是20)
sub3=207
现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。
输入
一个正整数K(0<K<1000)
输出
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
样例输入 Copy
15
样例输出 Copy
22555 25555 28555 30000
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int n,i,a,b,c;
long long int ans=0;
cin>>n;
for(i=10000;i<=30000;i++)//20207
{
a =i/100;//202
b =i/10-i/10000*1000;//020
c =i%1000;//207
if(a%n==0&&b%n==0&&c%n==0)
{
cout<<i<<endl;
ans++;
}
}
if(ans==0)
{
cout <<"No";
}
return 0;
}