【枚举】洛谷 P1151 子数整数

xiaoxiao2021-02-28  49

题目描述

对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:

sub1=a1a2a3

sub2=a2a3a4

sub3=a3a4a5

例如,五位数20207可以拆分成

sub1=202

sub2=020(=20)

sub3=207

现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。

输入输出格式

输入格式: 输入由键盘输入,输入仅一行,为正整数K

输出格式: 输出到文件,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。

输入输出样例

输入样例#1: 15 输出样例#1: 22555 25555 28555 30000

说明

0

代码

#include<iostream> using namespace std; int main() { int k,t=0,a,b,c,d,e,s1,s2,s3; cin>>k; for(int i=10000;i<=30000;i++) { a=i/10000; b=(i-a*10000)/1000; c=(i-a*10000-b*1000)/100; d=(i-a*10000-b*1000-c*100)/10; e=i; s1=a*100+b*10+c; s2=b*100+c*10+d; s3=c*100+d*10+e; if (s1%k==0&&s2%k==0&&s3%k==0) { printf ("%d\n",i); t++; } } if(t==0)cout<<"No"; return 0; }
转载请注明原文地址: https://www.6miu.com/read-46807.html

最新回复(0)