ccf-2017-12-1-最小差值
阿新 • • 發佈:2018-12-31
原題:
問題描述試題編號: | 201712-1 |
試題名稱: | 最小差值 |
時間限制: | 1.0s |
記憶體限制: | 256.0MB |
問題描述: |
問題描述
給定n個數,請找出其中相差(差的絕對值)最小的兩個數,輸出它們的差值的絕對值。
輸入格式
輸入第一行包含一個整數n。 第二行包含n個正整數,相鄰整數之間使用一個空格分隔。 輸出格式 輸出一個整數,表示答案。 樣例輸入 5 1 5 4 8 20 樣例輸出 1 樣例說明 相差最小的兩個數是5和4,它們之間的差值是1。 樣例輸入 5 9 3 6 1 3 樣例輸出 0 樣例說明 有兩個相同的數3,它們之間的差值是0. 資料規模和約定 對於所有評測用例,2 ≤ n |
試題分析:最先想到的就是將數存放到陣列中,2層迴圈計算最小差值絕對值即可。(考試的時候智商不線上不知道怎麼寫的,沒有得滿分)
AC程式碼:
#include<iostream> #include<math.h> using namespace std; int arr[1005]; int main() { int n,i,j; int min=10000; cin>>n; for(i=0;i<n;i++) cin>>arr[i]; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(abs(arr[i]-arr[j])<min) min=abs(arr[i]-arr[j]); } } cout<<min; return 0; }