設計一個函式,傳入一個數字n,若n可以被3整除的返回1,可以被5整除返回2,可以被7整除返回3

AsaZws發表於2018-03-05

早上深圳的太陽曬的皮膚賊疼,邊走邊想著一點事情來轉移注意力,忽然間就想到前兩天在掘金上看到一個前端面試題,雖說題目出的不是很嚴謹,但我就想著把他的題目修改下,延伸一下下,先看下圖。。。

設計一個函式,傳入一個數字n,若n可以被3整除的返回1,可以被5整除返回2,可以被7整除返回3

正如標題看到的,萬一這個數即被3整除又被5整除,那該返回多少呢?那我這邊想到的是返回12,話不多說,我貼程式碼了

function Ajust(num) {
            if ( typeof num != "number" || num == null ) {
                // 排除輸入為空,以及輸入非數字資料
                return false;
            }else {
                if ( num!=0 ) {
                    // 排除0
                    if( num < 0 ) {
                        return num + "為一個負數";
                    }else if ( num%3 === 0 && num%5 === 0 && num%7 === 0 ) {
                        return 123;
                    }else  if( num%3 === 0 && num%5 === 0 ) {
                    // 同時被3、5兩個數整除
                        return 12;
                    }else if ( num%5 === 0 && num%7 === 0 ) {
                    // 同時被5、7兩個數整除
                        return 23;
                    }else if( num%3 === 0 ) {
                        return 1;
                    }else if ( num%5 === 0 ) {
                        return 2;
                    }else if( num%7 === 0 ) {
                        return 3;
                    }else {
                        return num+ "不被這個數整除!"
                    }
                }
            }
        }
        console.log( Ajust(105) );  // 123
        console.log( Ajust(15) );  // 12
        console.log( Ajust(35) );  // 23
        console.log( Ajust(3) );  // 1
        console.log( Ajust(5) );  // 2
        console.log( Ajust(7) );  // 3
        console.log( Ajust(0) );  // undefined
        console.log( Ajust(-1) );  // -1為一個負數
複製程式碼

這樣基本所有情況都被考慮進去了,如果還有沒有考慮進去的情況,還望大家指出修改

相關文章