题目描述
对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:
sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数20101可以拆分成
sub_1=202sub1=202
sub_2=020(=20)
sub_3=207sub3=207
现在给定一个正整数KK,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub_1,sub_2,sub_3sub1,sub2,sub3都可被K整除。
输入格式
一个正整数K
输出格式
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
输入输出样例
输入 #1
15
输出 #1
22555 25555 28555 30000
AC代码
//分解位数
#include<stdio.h>
int main(){
int i,k,count=0;
int part1,part2,part3;
part1=part2=part3=0;
scanf("%d",&k);
for(i=10000;i<=30000;i++){
part1=(i/100);
part2=(i/10)%1000;
part3=i%1000;
if((part1%k==0)&&(part2%k==0)&&(part3%k==0)){
printf("%d\n",i);
count++;
}
}
if(count==0){
printf("No\n");
}
return 0;
}