本文主要是介绍题目 1245: 神奇的fans,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
传说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");elseprintf("no\n");}return 0;
}
这篇关于题目 1245: 神奇的fans的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!