解题思路: 找最大公因数
注意事项:除数为0
参考代码:
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[] arr=new int[n]; for(int i=0;i<n;i++){ arr[i]=sc.nextInt(); } Arrays.sort(arr); int d=arr[1]-arr[0]; for(int i=2;i<n;i++){ d=gcd(d,arr[i]-arr[i-1]); } int an; if(d==0){ an=n; }else{ an=(arr[n-1]-arr[0])/d+1; } System.out.println(an); } public static int gcd(int a,int b){ int r; if(a<b){ r=a; a=b; b=r; } while(b>0){ r=a%b; a=b; b=r; } return a; } }
0.0分
0 人评分