CCF-2017-12月-第1題
阿新 • • 發佈:2019-01-08
問題描述 給定n個數,請找出其中相差(差的絕對值)最小的兩個數,輸出它們的差值的絕對值。輸入格式 輸入第一行包含一個整數n。
第二行包含n個正整數,相鄰整數之間使用一個空格分隔。輸出格式 輸出一個整數,表示答案。樣例輸入5
1 5 4 8 20樣例輸出1樣例說明 相差最小的兩個數是5和4,它們之間的差值是1。樣例輸入5
9 3 6 1 3樣例輸出0樣例說明 有兩個相同的數3,它們之間的差值是0.資料規模和約定 對於所有評測用例,2 ≤ n ≤ 1000,每個給定的整數都是不超過10000的正整數。思路:太水了!!!上程式碼
第二行包含n個正整數,相鄰整數之間使用一個空格分隔。輸出格式 輸出一個整數,表示答案。樣例輸入5
1 5 4 8 20樣例輸出1樣例說明 相差最小的兩個數是5和4,它們之間的差值是1。樣例輸入5
9 3 6 1 3樣例輸出0樣例說明 有兩個相同的數3,它們之間的差值是0.資料規模和約定 對於所有評測用例,2 ≤ n ≤ 1000,每個給定的整數都是不超過10000的正整數。思路:太水了!!!上程式碼
#include<cstdio> #include<cmath> int a[1010]; using namespace std; int main() { int n; int minn=100000; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&a[i]); } for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(abs(a[i]-a[j])<minn) minn=abs(a[i]-a[j]); } } printf("%d",minn); return 0; }