2016东莞市特长生考试 子数整数
来源:互联网 发布:php h5 微信支付接口 编辑:程序博客网 时间:2024/05/17 03:59
2016东莞市特长生考试 子数整数
Time Limit:10000MS Memory Limit:256000K
Total Submit:4 Accepted:3
Case Time Limit:1000MS
Description
对于一个五位数 a1a2a3a4a5,可将其拆分为三个子数: sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数 20207 可以拆分成 sub1=202
sub2=020(=20) sub3=207
现在给定一个正整数 K,要求你编程求出 10000(包括 10000)到 30000(包括 30000)之间所有满足下述条件的五位数,条件是这些五位数的三个子数 sub1,sub2,sub3 都可被 K 整除。
Input
从文件 num.in 输入,输入仅一行,为正整数 K(0<k<1000)。< font="">
Output
输出到文件 num.out,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“-1”。
分析:标记1000以内k的倍数然后枚举判断就行了。
代码
const
maxn=1000;
var
f:array[0..maxn] of boolean;
i,j,k,n:longint;
fl:boolean;
function check(x:longint):boolean;
var
s,st:string;
p:longint;
begin
check:=true;
str(x,s);
st:=s[1]+s[2]+s[3];
val(st,p);
if not f[p] then exit(false);
st:=s[2]+s[3]+s[4];
val(st,p);
if not f[p] then exit(false);
st:=s[3]+s[4]+s[5];
val(st,p);
if not f[p] then exit(false);
end;
begin
//assign(input,'num.in');reset(input);
//assign(output,'num.out');rewrite(output);
readln(n);
k:=n;
f[0]:=true;
while k<1000 do
begin
f[k]:=true;
k:=k+n;
end;
for i:=10000 to 30000 do
if check(i) then
begin
writeln(i);
fl:=true;
end;
if not fl then writeln(-1);
//close(input);close(output);
end.
- 2016东莞市特长生考试 子数整数
- 2016东莞市特长生考试 子数整数
- SSL P2640 2016东莞市特长生考试 子数整数
- 2640 2016东莞市特长生考试 子数整数
- 2016 东莞信息特长生考试 1 子数整数
- 2016东莞市特长生考试 游戏问题
- 2016东莞市特长生考试 字串距离(dp)
- 2016东莞市特长生考试 游戏问题
- 2016东莞市特长生考试 字串距离
- 2016东莞市特长生考试 村庄重建
- 2641 2016东莞市特长生考试 游戏问题
- 2642 2016东莞市特长生考试 字串距离
- 2016东莞市特长生考试 村庄重建
- 2016东莞市特长生考试 字串距离
- 【2016东莞信息特长生】子数整数
- SSL P2643 2016东莞市特长生考试 村庄重建
- 东莞市2011年信息学特长生测试题 工具软件
- P1151 子数整数
- 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。
- nginx源码学习(五)
- PostgreSQL log配置
- 如何抢到腾讯云校园1元优惠资格(新版腾讯云)-更新
- h5上传格式设置,frameset使用方法
- 2016东莞市特长生考试 子数整数
- 二叉树的简单实现
- InputManagerService之事件的初始化与分发
- QT之toolbox简单实例
- Oracle(18)pl/sql编程 概念、快速入门及编程规范
- Kindergarten Election ZOJ
- 【原创】C++ 动态数组 vector 详解
- Java 时间转换
- process.waitFor() 返回值含义