本帖最后由 air123456789 于 2011-08-12 16:00:56 编辑

解决方案 »

  1.   

    string I="X";
    string j="Y";if((X*X*X)/(Y*Y*Y)==0)
    {
    子集
    }
    else
    {
    不是
    }
    ------------------------
    for(条件)
    {if(X/Y==0)
    {
    子集
    }
    else
    {
    不是
    }
    }
      

  2.   

    假如只是要实现“说有a,b两个字符串,问,a字符串里是否有b字符串里的所有字符”,最好方法是先求a,b都有的字母集合,然后用这个集合与b比较就行:这个思路可以按顺序来比较,并可允许a,b有多个相同的字母(比如有a,b都有3个字母f)。
      

  3.   

    假如只是要实现“说有a,b两个字符串,问,a字符串里是否有b字符串里的所有字符”,最好方法是先求a,b共有的字母集合,然后用这个集合与b比较就行:这个思路可以按顺序来比较,并可允许a,b有多个相同的字母(比如有a,b都有3个字母f)。
      

  4.   

    需要弄那么麻烦吗?"有a,b两个字符串,问,a字符串里是否有b字符串里的所有字符。"一句话的事情. 
               string a = "aabbccddeeffgg";
                string b = "abcdefgf";            return b.ToCharArray().Distinct().All(o => a.ToCharArray().Distinct().Contains(o));
      

  5.   

    当然,如果是研究就不一样了.有时间给Demo,限定使用素数的方式.
      

  6.   

    恩,顶一下ls,不要迷信质数的方法,其实很不靠谱,开一个bool[]做hash多简单,直接用HashSet或Distinct扩展方法也可以。
      

  7.   

    string a = "aabbccddeeffgg"; string b = "abcdefgf";
     return b.ToCharArray().Distinct().All(o => a.ToCharArray().Distinct().Contains(o)); 恩 这个做法是对的!
    你那个什么算法只会把问题弄复杂!
    记住奥卡姆剃刀