`
liushilang
  • 浏览: 89333 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

最小公倍/公约数

阅读更多

<SCRIPT LANGUAGE="JavaScript">
  <!--
//求两个数的最小公约数
 function commonDivisor(x,y){
   if(isNaN(x) || isNaN(y)) return "非法输入数据";
   var result =[];
   var max = Math.max(x,y);
   var temp = 1;
   while(temp<=max){
  if(x%temp==0 && y%temp==0){
     result.push(temp);
  }else{
    
  }
  temp++;
   }
   return result;
 }
 //求两个数的最小公倍数
 function  commonMultiple(x,y){
     if(isNaN(x) || isNaN(y)) return "非法输入数据";
  var amass = x*y;
  var min = Math.min(x,y);
  var temp = amass;
  var result=1;
  while(temp>=min && temp<=amass){   
    if(temp%x==0 && temp%y==0){
       result = temp;
    }else{
      
    }   
    temp--;
  }
  return result;
 }
 var t = commonMultiple(4,6);
 alert(t.toString())
 t =  commonDivisor(4,6);
 alert(t.toString());

  //-->
  </SCRIPT>

分享到:
评论
3 楼 leeldy 2009-02-03  
你有没有思考过求多个数的最小公倍数呢。。。
N个数的最小公倍数,除了利用N-1次辗转相除法分别求出最小公倍数意外,还有没有其他方法可以求呢?
2 楼 liushilang 2008-11-10  
是我没有写清楚,应该把最小公约数1除外,谢谢呀.第一篇自己写的小函数就出丑了.
1 楼 bcccs 2008-11-06  
<div class='quote_title'>liushilang 写道</div>
<div class='quote_div'>
<p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br/>  &lt;!--<br/><span style='color: #000000;'>//求两个数的最小公约数<br/> function commonDivisor(x,y){<br/>   if(isNaN(x) || isNaN(y)) return "非法输入数据";<br/>   var result =[];<br/>   var max = Math.max(x,y);<br/>   var temp = 1;<br/>   while(temp&lt;=max){<br/>  if(x%temp==0 &amp;&amp; y%temp==0){<br/>     result.push(temp);<br/>  }else{<br/>     <br/>  }<br/>  temp++;<br/>   }<br/>   return result;<br/> }<br/> //求两个数的最小公倍数<br/> function  commonMultiple(x,y){<br/>     if(isNaN(x) || isNaN(y)) return "非法输入数据";<br/>  var amass = x*y;<br/>  var min = Math.min(x,y);<br/>  var temp = amass;<br/>  var result=1;<br/>  while(temp&gt;=min &amp;&amp; temp&lt;=amass){    <br/>    if(temp%x==0 &amp;&amp; temp%y==0){<br/>       result = temp;<br/>    }else{<br/>       <br/>    }    <br/>    temp--;<br/>  }<br/>  return result;<br/> }<br/> var t = commonMultiple(4,6);<br/> alert(t.toString())<br/> t =  commonDivisor(4,6);<br/> alert(t.toString());</span></p>
<p>  //--&gt;<br/>  &lt;/SCRIPT&gt;</p>
</div>
<p> </p>
<p>唉。</p>
<p>1.最小公约数肯定是1.</p>
<p>2.最大公约数×最小公倍=两个数的积</p>
<p>3.最大公约数有个辗转相除法</p>

相关推荐

Global site tag (gtag.js) - Google Analytics