洛谷-P1151 子数整数
洛谷-P1151 子数整数
题目描述
对于一个五位数\(a_1a_2a_3a_4a_5\),可将其拆分为三个子数:
\(sub_1=a_1a_2a_3\)
\(sub_2=a_2a_3a_4\)
\(sub_3=a_3a_4a_5\)
例如,五位数\(20207\)可以拆分成
\(sub_1=202\)
\(sub_2=020(=20)\)
\(sub_3=207\)
现在给定一个正整数\(K\),要求你编程求出\(10000\)到\(30000\)之间所有满足下述条件的五位数,条件是这些五位数的三个子数\(sub_1,sub_2,sub_3\)都可被\(K\)整除。
输入格式
一个正整数K
输出格式
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
输入输出样例
输入 #1
15
输出 #1
22555
25555
28555
30000
说明/提示
0<K<1000
C++代码
#include <iostream>
using namespace std;
int a[30005];
int main() {
int k, sub1, sub2, sub3, n=0;
cin >> k;
for (int i=10000; i<=30000; ++i) {
sub1 = i / 100;
sub2 = (i - i / 10000 * 10000) / 10;
sub3 = i - i / 1000 * 1000;
if (sub1%k==0 && sub2%k==0 && sub3%k==0)
a[n++] = i;
}
if (n == 0)
cout << "No" << endl;
else
for (int i=0; i<n; ++i)
cout << a[i] << endl;
return 0;
}

浙公网安备 33010602011771号