iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
自我挑戰組

CPE題目練習系列 第 15

[Day15]Prime Gap

  • 分享至 

  • xImage
  •  

上一篇介紹了Fourth Point!!,這題是利用三個座標,在利用對角公是找出第四個座標的題目,因為題目有浮點數,所以在一開始不能使用INT來當作數字,這點要特別注意。

今天講解的題目是Prime Gap
先附上程式碼:

import java.util.;
import static java.lang.System.;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int a=sc.nextInt();
int x=0;
if(a==0) break;
int y=0,max=0,min=0;
for(int i=1;i<a+1;i++){
if(a %i==0){
x++;
}
}
if(x!=2){
for(int i=a-1;y!=2;i--){
y=0;
for(int j=1;j<i+1;j++){
if(i%j==0){
y++;
}
}
if(y==2) min=i;
}
y=0;
for(int i=a+1;y!=2;i++){
y=0;
for(int j=1;j<i+1;j++){
if(i%j==0){
y++;
}
}
if(y==2) max=i;
}
}
System.out.println(max-min);
}

}
};

題目給定一個數字,請求出最接近這個數字 的兩個質數間距有幾個數字,若該數字為質數,則輸出 0。
這題首先先用除以等於0的找出最大最小的值數就好,因為是最接近題目給的數字,所以可以從題目給的數字的+-1開始找起最近的兩個值數,這樣會方便很多但在此之前要先增加如果該數值是值數則輸出0的條件,這樣就可以省下坐後面程式碼的時間了,這題基本上也不難,就考考怎麼找質數而已,質數的英文叫做Prime number,也是這題命名的名稱。
今天的講解就到這裡。
明天也是新的題目,會介紹Basically Speaking,繼續加油!


上一篇
[Day14]Fourth Point!!
下一篇
[Day16]Basically Speaking
系列文
CPE題目練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言