题目描述
传说fans是一个数学天才。在他五岁那年,从一堆数字卡片中选出了4张 卡片:5,7,6,8。这4个数字有什么神秘之处呢?如果把这4张卡片自左往右的排成:5,6,7,8。你就会发现:原来这4个数字构成了等差数列!当年 fans选出了n组卡片,据说都能够构成等差数列。但是事实真的是这样吗?fans真的有这么神奇吗? n组数据就是fans选出的n组卡片,请你判断每一组卡片是否能构成等差数列.
输入格式
第一个数为数据的组数n,表示后面有n行,每行中的第一个数为该组数据的元素个数m(1≤m≤100),其后是m个正整数(不会超出int的表示范围)。
输出格式
如果能够构成等差数列,输出“yes”,否则输出“no”。
样例输入
<span style="color:#333333"><span style="color:#333333">2
4 5 7 6 8
8 1 7 3 2 8 12 78 3</span></span>
样例输出
<span style="color:#333333"><span style="color:#333333">yes
no</span></span>
#include<stdio.h>
#include "math.h"
int n[10001];
void f(int num){
int i, j, temp;
for (i = 1; i <= num-1; i++)
{
for (j = 0; j <= num-1 - i; j++)
{
if (n[j] > n[j + 1])
{
temp = n[j];
n[j] = n[j + 1];
n[j + 1] = temp;
}
}
}
}
int main()
{int i,j,num,k,m;
scanf("%d",&num);
for(i=0;i<num;i++){
scanf("%d",&k);
for(j=0;j<k;j++){
scanf("%d",&n[j]);
}
f(k);
int d=n[1]-n[0];
int flag=1;
for(m=2;m<k;m++)
if(n[m]-n[m-1]!=d)
{
flag=0;break;
}
if(flag)
printf("yes\n");
else
printf("no\n");
}
return 0;
}