题目描述
对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:
sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数2020720207可以拆分成
sub1=202
sub2=020(=20)
sub3=207
现在给定一个正整数KK,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。
输入格式
一个正整数K
输出格式
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
输入输出样例
输入 #1复制
15
输出 #1复制
22555 25555 28555 30000
说明/提示
0<K<1000
思路:注意未找到输出的是No,不是NO。。。。。我搞了那么久没看出问题,结果是这里翻车,大无语,浪费好多时间,要找到教训。
AC代码如下:
#include <iostream>
using namespace std;
int main(){
int K,n = 0;
cin >> K;
for(int i =10000;i <= 30000;i++){
if(i/100%K==0){
if(i/10%1000%K==0){
if(i%1000%K==0){
cout << i << endl;
n = 1;
}
}
}
}
if(n==0){
cout << "No";
}
return 0;
}