문제 풀이 및 개발 공간

[백준] 2485번 가로수 (silver 4 본문

백준공부/java

[백준] 2485번 가로수 (silver 4

gomduri43 2023. 5. 23. 15:59

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        int n=Integer.parseInt(br.readLine());
        int[] num=new int[n];
        for(int i=0; i<n; i++){
            num[i]=Integer.parseInt(br.readLine());
        }
        int distance=num[1]-num[0];
        for(int i=2; i<n; i++){
            int temp=num[i]-num[i-1];
            distance= distance > temp ? gcd(distance,temp) : gcd(temp,distance);
        }
        bw.write((num[n-1]-num[0])/distance-n+1+"");
        bw.flush();
    }
    public static int gcd(int a, int b){
        int temp=a%b;
        if(temp==0){
            return b;
        }
        else{
            return gcd(b,temp);
        }
    }
}