判斷乙個給定的亂序陣列是否是等差數列,如果是則輸入「possible」,否則輸出「impossible」。
分析:首先陣列是亂序的,需要對陣列進行排序,然後通過等差陣列的特性,比較相鄰兩個元素之間的差值是否相同,判斷該陣列是否是等差數列。排序可以通過呼叫stl庫函式sort進行排序。
問題:1、sort函式的使用;
2、可以使用容器存放輸入資料,也可以使用陣列。
附上c++**:
#include#includeusing namespace std;
int main()
{ int n;
cin>>n;
int a[n];
for(int i=0;i>a[i];
if(n<=1)
{cout<<"possible"問題:1、輸入的格式;
2、如果輸入n小於3,會出現什麼情況?
3、需要將陣列的輸入轉換為列**式。
附上python**:
def equaldiff(a):
a.sort()
d=a[1]-a[0]
for i in range(len(a)-1):
if a[i]!=a[i+1]-d:
return 'impossible'
return 'possible'
n=int(input())
a=list(map(int,input().split(' ')))
print(equaldiff(a))
45 等差數列
45 等差數列 問題描述 乙個等差數列是乙個能表示成a,a b,a 2b,a nb n 0,1,2,3,在這個問題中a是乙個非負的整數,b是正整數。寫乙個程式來找出在雙平方數集合s中長度為n的等差數列。雙平方數集合是所有能表示成p2 q2的數的集合。輸入說明 第一行 n 3 n 25 要找的等差數列...
45 等差數列
乙個等差數列是乙個能表示成a,a b,a 2b,a nb n 0,1,2,3,在這個問題中a是乙個非負的整數,b是正整數。寫乙個程式來找出在雙平方數集合s中長度為n的等差數列。雙平方數集合是所有能表示成p2 q2的數的集合。第一行 n 3 n 25 要找的等差數列的長度。第二行 m 1 m 250 ...
45 等差數列
45 等差數列 問題描述 乙個等差數列是乙個能表示成a,a b,a 2b,a nb n 0,1,2,3,在這個問題中a是乙個非負的整數,b是正整數。寫乙個程式來找出在雙平方數集合s中長度為n的等差數列。雙平方數集合是所有能表示成p2 q2的數的集合。輸入說明 第一行 n 3 n 25 要找的等差數列...