2017-01-15 120 views
1

我有疑問!關於素數的問題始終是一樣的問題!是否有可能不使用循環或遞歸方法?非常感謝!!我曾嘗試這個(作品第一號!):素數沒有循環沒有遞歸

public static boolean Prime(int number) { 
    Scanner leer = new Scanner(System.in); 
    int test1 = number % 2; 
    int test2 = number % 3; 
    int test3 = number % 5; 
    if (number == 2 & test1 == 0 & test2 == 2) { 
     return true; 
    } else if (number == 3 & test1 == 1 & test2 == 0) { 
     return true; 
    } else if (number ==5 & test1==1 & test2== 2 & test3== 0){ 
     return true; 
    } else if (test1 ==1 & test2 == 2 & test3 == 0){ 
     return false; 
    } else if (test1 == 1 & test2 == 2) { 
     return true; 
    } else if (test1 == 1 & test2 == 1 & test3 == 0) { 
     return false; 
    } else if (test1 == 1 & test2 == 1) { 
     return true; 
    } else { 
     return false; 
    } 
} 
+1

哦,我明白你在問什麼。 –

+1

您可以對所有有效的32位素數進行硬編碼。但爲什麼? –

+0

不,這是不正確的,例如嘗試27! –

回答

2

沒有就沒有辦法不使用任何環路上的無限範圍的數進行素性測試。此問題的遞歸解決方案也非常有限,因爲它們不具有可伸縮性。