一道筆試題(求質數乘積)

前今天參加了場筆試裏面有一道關於求質數乘積的題,當時雖然說寫完了程序可是總感受有什麼不對的地方因此今天寫了一下,發現當時求質數的函數寫的有些複雜,仍是基礎太差再加上長時間不寫代碼所致,因爲我參加的筆試公司尚未徹底招聘完,因此暫時不方便透露是什麼公司,以此文章祭奠我第一次掛掉的筆試。javascript

題目很簡單就是讓你寫出個關於求某個數的質數的乘積,寫出思路,畫出流程圖並寫出程序。css

例如24=2*2*2*3;html

分析思路以下:先求出最小的質數而後用待求值去除以此時的質數若是餘數等於零則說明此質數爲其所求值中的一個而後把所得的商遞歸直至最後所得的商爲質數;(表述可能不太清除,請諒解)js代碼以下: java

<!--
code by 
date 2013-09-14
求某個數的質數積例如:24=2*2*2*3; 
 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!-- <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> -->

<script>
function Prime(n){
    var m = n;
    for(var i=2;i<=m;i++)
    {
        if(m%i==0)
        {
            return i;
        }    
    } 
}
function recursive(n){
    var m=n;
    var iPrime = Prime(m);
    document.write(iPrime+"*");
    var t = iPrime;
    if(iPrime<=m)
    {
        if(m/iPrime==1)
        {
            return m;        }
        if(m%iPrime==0)
        {
            recursive(m/iPrime);
            //return iPrime;
        }
    }
    
}
window.onload=function(){
    var oSubmit = document.getElementById("submit");
    var oNumber = document.getElementById("number");
    oSubmit.onclick=function(){
        var num = parseInt(oNumber.value);
        var pattern =/\d/;
        //alert(typeof num);
        if(pattern.test(num))
        {
            var iNum = recursive(num);
            alert("停頓查看值");
        }
        else
        {
            alert("輸入的不爲數字,請從新輸入");
        }        
    }
}
</script>
<style type="text/css">

</style>

<body>
    <form id="form">
        <input type="text" id="number" name="number"  />
        <input type="submit" id="submit" name="submit" />
    </form>
</body>
</html>

圖示以下:jquery

VIX`B0Z[WCLO_LUGJPWJI93[3]

博客剛開始寫,之前wordpress都是本身記錄着玩的,根本沒有讓百度收錄,若是你們很不幸的看見這個文章,有什麼問題和指教請多多交流,謝謝! wordpress

相關文章
相關標籤/搜索