中易网

pascal+判断元素是否存在(请给标程)

答案:2  悬赏:80  
解决时间 2021-03-05 07:48
有一个集合M是这样生成的: (1) 已知 k 是集合 M 的元素; (2) 如果 y 是 M 的元素,那么, 2y+1 和 3y+1 都是 M 的元素; (3) 除了上述二种情况外,没有别的数能够成为 M 的一个元素。
问题:任意给定 k 和 x,请判断 x 是否是 M 的元素。这里的 k是无符号整数,x 不大于 100000, 如果是,则输出YES,否则,输出 NO
输入
输入整数 k 和 x, 逗号间隔。
输出
如果是,则输出 YES,否则,输出NO
样例输入
0,22

样例输出
YES
最佳答案
var a,b,i,n:longint; c:char;
f:array[0..300001]of boolean;
begin
read(c);
while c<>',' do
begin a:=a*10+ord(c)-ord('0'); read(c); end;
while not eoln do
begin read(c); b:=b*10+ord(c)-ord('0'); end;
f[a]:=true;
for i:=a to b do
if f[i] then
begin f[i*2+1]:=true; f[i*3+1]:=true; end;
if f[b] then writeln('YES') else writeln('NO');
end.

有问题可以问,我尝试解答
全部回答
function find(x:longint):longint; begin if f[x]&lt;&gt;x then f[x]:=find(f[x]); find:=f[x]; end; procedure tarjin(u:longint); begin f[u]:=u; color[u]:=1; for i:=1 to n do if (g[u,i])and(color[i]=0) then begin tarjin(i); f[i]:=u; end; for i:=1 to n do if (g[u,i])and(color[i]=2) then begin lca[u,i]:=find(i); lca[i,u]:=lca[u,i]; end; color[i]:=2; end;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
progressive什么意思
手柄怎么在比赛中切和角球切战术板
在淘宝上买LOL帐号安全么
为什么我的电脑进不了百度!
最强升级系统之仙域奥雅
今天买了两个USB的手柄,想在电脑上玩游戏的
补脑安神片和银杏叶片可以一起吃吗
杭州的大专院校哪几所好一点?杭州的各大专院
去日租房要身份证没? 是给他们押着?
脚手板的绑扎材料应该用什么铁丝
请帮忙给我家新开的茶馆取个名字?三个字到四
德国丝强vs品浪竞技鱼线主线哪个更胜一筹?
一步步克服困难获得巨大成功的名人故事
苏州欧菲光科技有限公司待遇如何
抽烟对喉咙有什么危害?
推荐资讯
气质测试结果:您的气质类型很不明显 为什么
产后是不是要修复腹直肌和盆底肌后才能做大体
敢聊的订阅直播在哪里进
卡斯罗发起疯来会不会六亲不认
妇幼保健所-住院部我想知道这个在什么地方
冬阳童年骆驼队怎么分段
关于物理(定滑轮)的简单知识!
懒人饮料帽子的吸管有气味该怎么做
分数的意义教学学生得到哪些学习能力的培养
从广州南站到鹭江,坐几号线地铁
东北一家人在哪里啊,我有事要去这个地方
宝马前机盖被树叶挡住了 里面就漏水
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?