試題編號: | 201712-1 |
試題名稱: | 最小差值 |
時間限制: | 1.0s |
內存限制: | 256.0MB |
問題描述: |
問題描述 給定n個數,請找出其中相差(差的絕對值)最小的兩個數,輸出它們的差值的絕對值。 輸入格式 輸入第一行包含一個整數n。 輸出格式 輸出一個整數,表示答案。 樣例輸入 5 樣例輸出 1 樣例說明 相差最小的兩個數是5和4,它們之間的差值是1。 樣例輸入 5 樣例輸出 0 樣例說明 有兩個相同的數3,它們之間的差值是0. 數據規模和約定 對於所有評測用例,2 ≤ n ≤ 1000,每個給定的整數都是不超過10000的正整數。 |
C++實現:
#include<iostream>
#include<cmath> //C++調用abs取絕對值時,一定要包含該頭文件,否則不能拿滿分
using namespace std;
int main()
{
int n,a[1000],min=10001,r;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int j=0;j<n;j++)
{
for(int k=j+1;k<n;k++)
{
r=abs(a[j]-a[k]);
if(min>r)
min=r;
}
}
cout<<min<<endl;
return 0;
}