题目描述
对于一个五位数 a1a2a3a4a5,可将其拆分为三个子数:
𝑠𝑢𝑏1=𝑎1𝑎2𝑎3
𝑠𝑢𝑏2=𝑎2𝑎3𝑎4
𝑠𝑢𝑏3=𝑎3𝑎4𝑎5
例如,五位数 20207 可以拆分成
𝑠𝑢𝑏1=202
𝑠𝑢𝑏2=020 (=20)
𝑠𝑢𝑏3=207
现在给定一个正整数 K,要求你编程求出 10000 到 30000 之间所有满足下述条件的五位数,条件是这些五位数的三个子数 sub1,sub2,sub3 都可被 K 整除。
输入格式
一个正整数 K。
输出格式
每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出 No
。
输入输出样例
输入 #1
15
输出 #1
22555 25555 28555 30000
说明/提示
0<K<1000
思路:
直接暴力就可以了,注意无解要输出No就好(我自己都不想写了,太简单)
AC代码(注释?你猜有没有):
#include<bits/stdc++.h>//万能头文件
using namespace std;//cin,cout必备
int main()//main主函数
{int k;//题目里有bool f=0;//有没有解cin >> k;//输入for(int i=10000;i<=30000;i++)//题目范围是10000~30000{if(i/100%k==0)//第一个子数{if((i/10%1000)%k==0)//第二个子数{if((i%1000)%k==0)//第三个子数{cout<<i<<endl;//输出解f=1;//有解}}}}if(!f)//无解{cout<<"No";//输出No}return 0;
}
AC提交记录: AC代码
今天4篇博客结束了,家长叫我关电脑,拜拜!