1. 程式人生 > 實用技巧 >領釦刷題——關於數

領釦刷題——關於數

最近在刷題,把同一型別的題目整合在一起,方便理解和學習。

1、寫一個程式來檢測一個整數是不是醜數

  醜數的定義是,只包含質因子2, 3, 5的正整數。比如 6, 8 就是醜數,但是 14 不是醜數因為他包含了質因子 7。

    public boolean isUgly(int num) {
        // write your code here
        if(num==1){
            return true;
        }else{
            while(num%2==0){
                num=num/2;
            }
            
while(num%3==0){ num=num/3; } while(num%5==0){ num=num/5; } if(num==1){ return true; } } return false; }

  2、判斷水仙花數(eg:3位數:153=1^3+3^3+5^3)

public List<Integer> getNarcissisticNumbers(int
n){ List<Integer> list=new ArrayList<>(); if(n==1){ for(int i=0;i<10;i++){ list.add(i); } return list; }else if(n==2){ return list; }else{ for(int i=Math.pow(10,n-1);i<Math.pow(10,n);i++){ String istring=String.valueOf(i);
for(int j=0;j<n;j++){ int num=num+Math.pow(Integer.valueOf(istring.subString(j,j+1)),n); } if(num==i){ list.add(i); } } return list; } }

(演算法題練的太少,這兩道題目都參考了網上的做法,學習到了。希望多加練習以後能漸漸學會自己解決。)