a121. 質數又來囉
決定使用比較懶的方法,BigInteger再度出場,大材小用,牛刀割雞,把你用在這邊真是抱歉哈~
if(big(元a)是質數) // 因為不管怎樣下面的迴圈都會執行一次,導致sum+1,所以如果a是質數的話要先-1,免得加兩次 sum = -1 else sum = 0 while(big <= b){ big = 下一個可能質數 sum++ }很棒吧,只是單單輸出sum還不夠,因為不知道哪一筆資料會讓sum = -1,想破頭也想不出來什麼樣的情況會讓sum = -1,索性在sum == -1時輸出0
可能是真的有BUG吧,阿彌陀佛。
程式碼如下:
- /* Pa121.java
- * a121. 質數又來囉
- *
- * 科皓不要
- * 2020/3/8
- */
- import java.util.Scanner;
- import java.math.BigInteger;
- public class Pa121{
- public static void main(String[] args){
- Scanner scanner = new Scanner(System.in);
- while(scanner.hasNext()){
- BigInteger big = new BigInteger(scanner.next());
- BigInteger b = new BigInteger(scanner.next());
- int sum = big.isProbablePrime(1000)? 0: -1;
- while(big.compareTo(b) != 1){
- big = big.nextProbablePrime();
- sum++;
- }
- System.out.println(sum == -1? 0: sum);
- }
- }
- }
沒有留言:
張貼留言