41:判断元素是否存在

  • 查看
  • 提交
  • 统计
  • 提问

总时范围: 
1000ms

内存限制: 
65536kB

描述
发出一个集合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

来源
元培-From Whf

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int a[10000001];
 5 void f(int n)
 6 {
 7     if(n<=100000)
 8     {
 9         a[n]=1;
10         f(2*n+1);
11         f(3*n+1);
12     }
13     else return;
14 }
15 int main()
16 {
17     int k,x;
18     //cin>>k>>x;
19     scanf("%d,%d",&k,&x);
20     f(k);
21     if(a[x]==1)
22     cout<<"YES";
23     else
24     {
25         cout<<"NO";
26     }
27     return 0;
28 }

 

不知阁下是否都闻讯了赶集网,我眷恋对大多数人的话,应该无会见无限陌生,有时无聊的时,还是可以错过逛逛,了解社会百态,熟悉人间风情,品味生活好,呵呵。

赶集网基本是仍全国城市分类的,每一个城是一致界面,不同内容。你可以不同城市遭受切换,以便关注该城市之各种信息。

图片 1 
本着承诺每个都,赶集网又发不同之归类,基本上涵盖了存的浑。

图片 2 

 
进一个特定的归类,你得见见有关的用户文章,有些事经纪人发的,有些是常见老百姓发之,各取所需,各观所好。

图片 3 

好了,说到此,请不要认为我是受赶集网做广告,呵呵,肯定不是。

自我是优先解剖赶集网的情节结构,为开内容集做准备,下面先Show一下自我开的赶集网采集程序先,先出一个感性的认识,也也底的代码找一个事实上的宿主,而不要纯粹理论的研讨,哈哈。

图片 4 

 下面分析赶集网的内容获取与顺序的做事办法:

先是第一步,我们而以到全国省市的底分名称,这部可以去国家统计局那边找寻找,哈哈,我是说实在哦。

赶集网每个市,对诺一个码,如北京市对应bj,广州相应gz,
你从上面的都划分的源码中可找到:<dd><a href=”http://bj.ganji.com/” class=”redLink”>北京</a></dd>,这个中的情就是包含了bj的始末,后面长ganji.com就是京城赶集网的链接地址了,花点功夫把她寻找出来吧。

老二个是网站内容的分类,我查看了差城市之归类好像是同的,因此才需要获得一个城池之归类就好了,其他的哪怕一样。

将分类的情保留成html,然后坐VS格式化一对接,得到了情节如下所示:

图片 5 

脚你因情节,编写一个正则表达式来将分类提取出,就可以了。献上拙例,供参考。

率先我们将分类分级,一级分类是房产、二手物品、招聘等充分类,二级分类表示十分分类(如房产)下面的略分类,如出租房、二手房等情节类别。

下代码是大类的获: 

 图片 6代码

        private void GetCatetory(object obj)
        {
            string mainUrl = “http://gz.ganji.com”;
            string DataRegex = “<dt><a\\s*?href=\”(?<value>.*?)\”\\s*?target=\”_blank\”>(?<key>.*?)»</a></dt>”;
            string itemString = “”;
            itemString = CSocket.GetHtmlByUrl(mainUrl);

            Database db = DatabaseFactory.CreateDatabase();
            DbCommand command = null;
            if (!string.IsNullOrEmpty(itemString))
            {
                Regex re = new Regex(DataRegex, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
                Match mc = re.Match(itemString);
                if (mc.Success)
                {
                    MatchCollection mcs = re.Matches(itemString);
                    foreach (Match me in mcs)
                    {
                        string strKey = me.Groups[“key”].Value;
                        string strValue = me.Groups[“value”].Value;
                        try
                        {
                            string sql = string.Format(“insert into GanjiCategory(CategoryName,CategoryUrl) values(‘{0}’,'{1}{2}’) “,
                                strKey, mainUrl, strValue);
                            command = db.GetSqlStringCommand(sql);
                            db.ExecuteNonQuery(command);

                            string tips = string.Format(“正在处理 {0} “, strKey);
                            CallCtrlWithThreadSafety.SetText<Label>(this.lblSchoolTips, tips, this);
                        }
                        catch (Exception ex)
                        {
                            LogHelper.Error(ex);
                        }
                    }
                }
            }
        }

 

 

下面代码是有些分类的拿走:

图片 7图片 8代码

        private void GetItemName(object obj)
        {
            string mainUrl = “http://gz.ganji.com”;
            Database db = DatabaseFactory.CreateDatabase();
            DbCommand command = null;

            string content = CSocket.GetHtmlByUrl(mainUrl);
            try
            {
                #region 获得各列表字符串
                List<string> itemHtmlList = new List<string>();
                string itemRegex = “<dl\\s*?class=\”list_.*?\”>\\s*(.*?)\\s*</dl>”;
                Regex re = new Regex(itemRegex, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
                Match mc = re.Match(content);
                if (mc.Success)
                {
                    MatchCollection mcs = re.Matches(content);
                    foreach (Match me in mcs)
                    {
                        string strValue = me.Groups[1].Value;
                        itemHtmlList.Add(strValue);
                    }
                }
                #endregion

                #region 对各个起内容开展剖析
                foreach (string itemString in itemHtmlList)
                {
                    string cateDataRegex = “<dt><a\\s*?href=\”(?<value>.*?)\”\\s*?target=\”_blank\”>(?<key>.*?)»</a></dt>”;
                    string itemNameRegex = “<dd>\\s*<a\\s*href=\”(?<value>.*?)\”\\s*target=\”_blank\”>(?<key>.*?)</a>\\((?<id>.*?)\\)</dd>”;

                    re = new Regex(cateDataRegex, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
                    mc = re.Match(itemString);

                    string categoryName = “”;
                    if (mc.Success)
                    {
                        Match me = re.Matches(itemString)[0];
                        categoryName = me.Groups[“key”].Value;
                    }

                    re = new Regex(itemNameRegex, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
                    mc = re.Match(itemString);
                    if (mc.Success)
                    {
                        MatchCollection mcs = re.Matches(itemString);
                        foreach (Match me in mcs)
                        {
                            string strKey = CText.GetTxtFromHtml(me.Groups[“key”].Value);
                            string strValue = me.Groups[“value”].Value;

                            try
                            {
                                //保存内容代码

                                string tips = string.Format(“正在处理 {0} “, strKey);
                                CallCtrlWithThreadSafety.SetText<Label>(this.lblSchoolTips, tips, this);
                            }
                            catch (Exception ex)
                            {
                                LogHelper.Error(ex);
                            }
                        }
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
        }

 

 

做到地方两步后,我们不怕好继承第三部,采集赶集网的情相当消息了。