201409-1 相鄰數對

問題描述
試題編號: 201409-1
試題名稱: 相鄰數對
時間限制: 1.0s
內存限制: 256.0MB
問題描述:
問題描述
  給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。
輸入格式
  輸入的第一行包含一個整數n,表示給定整數的個數。
  第二行包含所給定的n個整數。
輸出格式
  輸出一個整數,表示值正好相差1的數對的個數。
樣例輸入
6
10 2 6 3 7 8
樣例輸出
3
樣例說明
  值正好相差1的數對包括(2, 3), (6, 7), (7, 8)。
評測用例規模與約定
  1<=n<=1000,給定的整數爲不超過10000的非負整數。

解題思路:

這一題是一道數組和for循環連在一起使用的題目

我覺得這一道題這一句話能夠讓整道題目沒有歧義(各不相同的整數)

具體算法:

從第一個數字開始,往後面的數字一個一個減,如果剛好差值的絕對值是1,那麼就記錄下來

一直操作到最後一個數字位置


代碼展示:

#include<iostream>
using namespace std;
int main()
{
	int arr[1010]={0};
	int n=0;
	while(cin>>n)
	{
		for(int i=0;i<n;i++)
		cin>>arr[i];
		int sum=0;
		for(int i=0;i<n;i++)
		{
			for(int j=i+1;j<n;j++)
			{
				if(arr[j]-arr[i]==1||arr[j]-arr[i]==-1)
				sum++;
			}
		}
		cout<<sum<<endl;
	}
 } 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章