`

求两个数高位相同的部分--算法由中国PHP联盟的vincent-武汉(282159887) 提供

阅读更多
算法题:
求两个数高位相同的部分。
比如
42443和42555,得42
74和75,得7
333222和333111,得333
750和75,得0

输入:两个数
输出:相同部分
===========
谁来试试



<script type="text/javascript" defer="defer">
$={
temp:"",
getHigh:function(f,s){
var f=String(f);
var s=String(s);
var len=f.length<s.length?f.length:s.length;
for(var i=0;i<len;i++){
if(f.charAt(i)==s.charAt(i)) this.temp+=f.charAt(i);
else break;
}
if(this.temp)
document.write(f+"和"+s+"的相同的部分最高位为:"+this.temp+"<br />");
else
document.write(f+"和"+s+"没有相同的部分!<br />");
this.temp="";
}

}

$.getHigh(42443,42555);
$.getHigh(74,75);
$.getHigh(333222,333111);
</script>

1
4
分享到:
评论
1 楼 netbuddy 2008-10-12  

function get_same($n1,$n2){
     $s1=(string)$n1;
     $s2=(string)$n2;

   if (strlen($s1) < strlen($s2)) { // 如果S1长度比S2长度小,交换之,让S1为长的那个
   $tmp=$s2;
   $s2=$s1;
   $s1=$tmp;
   }


$len=strlen($s2);
for($i=1;$i<=$len;$i++){//用s2去检查s1
$sub=substr($s2,0,$i);
if(!strstr($s1,$sub))
         break;
}
 
  return   $i==$len  ?  "{$s1}与{$s2}没有相同的部分" : "{$s1}与{$s2}相同的部分是".substr($s2,0,$i-1);
}

print(get_same(42443,425556));
echo '<br>';
print(get_Same(333111,333222))

相关推荐

    两个matlab实现的K-MEANS聚类算法

    %k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足: %同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象...

    GA-PSO混合算法的matlab源码

    本资源提供的"GA-PSO混合算法的matlab源码"是一个结合了遗传算法(Genetic Algorithm, GA)与粒子群优化算法(Particle Swarm Optimization, PSO)的混合方法,专门应用于解决WSNs的路由优化问题。这两种算法都是...

    基于K-means聚类算法的图像分割及其MATLAB实现

    基于K-means聚类算法的图像分割以图像中的像素为数据点,按照指定的簇数进行聚类,然后将每个像素点以其对应的聚类中心替代,重构该图像。 算法步骤: ①随机选取K个初始聚类中心; ②计算每个样本到各聚类中心的...

    VC++ 实现Diffie-Hellman密钥交换算法

    Diffie-Hellman密钥交换算法是密码学中一个重要的概念,它允许两个通信方在不安全的信道上安全地协商一个共享密钥。这个算法由Whitfield Diffie和Martin Hellman在1976年提出,是公钥基础设施(PKI)中的基础组成...

    基于TDOA定位的Chan-taylor混合加权算法

    用MATLAB编写,4个基站的基于TDOA的Chan-Taylor混合加权算法定位。最普通的Chan-Taylor算法,将Chan算法计算出来的估计值作为Taylor级数展开法的迭代初始值带入,之后合理设置Chan算法和Taylor级数展开法的加权系数...

    L-R算法和维纳滤波的图像复原

    总结来说,"L-R算法和维纳滤波的图像复原"这个主题涵盖了图像处理中的两个关键复原方法,以及它们在处理不同噪声类型和模型下的效果比较。通过MATLAB提供的工具和自定义脚本,我们可以定量地分析和比较这两种方法的...

    Weiler-Atherton算法 实现多边形裁剪

    对于每个事件点,算法会更新多边形在扫描线上的可见部分。 4. **边界更新**:在处理事件点时,算法需要判断多边形是否穿过裁剪区域。这涉及到计算多边形边的裁剪状态,如“完全在裁剪区域内”、“完全在裁剪区域外...

    解整数规划的0-1遗传算法

    0-1整数规划是整数规划的一种特殊情况,其中决策变量只能取0或1两个值,这使得问题变得更加复杂且难以求解。为了解决这种问题,人们发展出各种优化算法,其中0-1遗传算法是一种有效的方法。 遗传算法(Genetic ...

    多维k-means聚类算法java实现,导入直接运行

    欧氏距离公式为:`sqrt(sum((x_i - y_i)^2))`,其中x和y是两个样本点,i是特征维度。 3. **初始化**:可以随机选择k个数据点作为初始聚类中心,或者使用更复杂的方法如K-Means++来避免局部最优解。 4. **迭代过程*...

    mifare系列卡片crapto-1加密算法源码

    该算法主要由两个部分组成:密钥扩展和数据加密。密钥扩展将32位的密钥转化为一系列密钥流,数据加密则用这些密钥流对数据进行异或操作,实现加解密。 源码分析: 1. **密钥扩展**:Crpto-1算法的密钥扩展采用了一...

    SHA-1算法c语言实现

    SHA-1算法是一种广泛使用的密码学哈希函数,由美国国家安全...这个项目提供了一个很好的学习平台,通过实际操作可以深入掌握这两个领域的知识。如果你对安全领域或者底层编程感兴趣,那么研究这个项目将会非常有价值。

    S7-200 PID算法梯形图程序

    **S7-200 PID算法梯形图程序** 在自动化控制领域,PID(比例-积分-微分)控制器是一种广泛应用的控制算法,用于调节系统的响应。西门子的S7-200系列PLC(可编程逻辑控制器)提供了内置的PID功能,允许用户通过编程...

    matlab NSGA-III 三目标算法优化

    总之,MATLAB NSGA-III三目标算法优化提供了一个强大的工具来解决多目标优化问题,尤其是在工程、经济、生物系统等领域,可以有效地平衡和优化多个相互冲突的目标。掌握这一技术,不仅能够提升优化效率,还能为复杂...

    AC-BM 多模式匹配算法

    Boyer-Moore算法是由Boyer和Moore于1977年提出的,它主要通过两个启发式规则来提高搜索效率:坏字符规则和好后缀规则。坏字符规则利用模式串中的字符信息,根据文本中已知的不匹配字符,尽可能地向右移动模式串,...

    梁友栋-Barsky直线裁剪算法

    这个算法是由梁友栋教授提出,并且结合了Barsky的改良,使得它能更好地适应屏幕坐标系统。在C++环境下,特别是在MFC(Microsoft Foundation Classes)框架下,这种算法被广泛用于处理图形界面中的线条绘制问题。 ...

    GA-LSTM 遗传算法优化的lstm 预测代码 python实现

    总结来说,这个项目结合了遗传算法与LSTM,以提升时间序列预测的准确性。通过Python实现,用户可以方便地调整和运行,这对于研究和实践中优化复杂模型的参数配置具有很高的价值。在深度学习和人工智能领域,这种组合...

    Sutherland-Hodgman算法进行多边形裁剪

    这个算法的主要目的是将一个多边形与一个指定的裁剪区域(通常是一个矩形)相交,得到裁剪后的多边形。在你的描述中提到的问题可能是由于实现细节或边界条件处理不恰当导致的。 **Sutherland-Hodgman算法的基本步骤...

    Levenberg-Marquardt算法

    Levenberg-Marquardt(LM)算法是一种在非线性最小二乘问题中寻找参数最佳拟合的数值优化方法。它结合了梯度下降法和高斯-牛顿法的优点,尤其适用于解决数据拟合问题,比如在科学计算、机器学习、图像处理等领域有...

    K-means聚类算法

    在提供的代码中,可能有一个名为`K_means.m`的文件,这是实现K-means算法的核心部分,其中会包含这个初始化过程。 2. **分配阶段**: 根据当前的聚类中心,将所有数据点分配到最近的类别。计算每个数据点与K个中心...

Global site tag (gtag.js) - Google Analytics