P1151 子数整数
题目描述
对于一个五位数可将其拆分为三个子数:
例如,五位数2020720207可以拆分成
202
020(=20)
207
现在给定一个正整数KK,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数都可被KK整除。
输入格式
一个正整数K
输出格式
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
输入输出样例
输入
15
输出
22555
25555
28555
30000
拆分不需要使用字符串数组,数学拆分即可,利用int类型的特点即可。
#include<stdio.h>
int main(){
int i,j,k,n,judge;
int fir,sec,thr;
fir=sec=thr=0;
i=k=j=n=judge==0;
scanf("%d",&k);
for(i=10000;i<=30000;++i){
fir=(i/100);
sec=(i/10)%1000;
thr=i%1000;
if((fir%k==0)&&(sec%k==0)&&(thr%k==0)){
printf("%d\n",i);
judge++;
}
}
if(judge==0){
printf("No\n");
}
return 0;
}