1733: 【作】【入门】是什么数列

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:3

题目描述

小明学习了等差数列和等比数列的知识。

等差数列是指从第二项起,每一项与它的前一项的差都是相等的。比如数列:1 3 5 7 9和数列:9 7 5 3 1都是等差数列。

等比数列是指从第二项起,每一项与它的前一项的比值都是相等的。比如数列:1 2 4 8 16和数列:16 8 4 2 1都是等比数列。

现从键盘读入n个整数,判断是等差数列还是等比数列,如果是等差数列,请输出“dengcha”,如果是等比数列,请输出“dengbi”,如果两种数列都不是,请输出“no”。

输入

第一行有1个整数n5 <= n <= 100

第二行有n个不相同的整数,用空格隔开。(这n个数都是1~1000之间的整数)

输出

如果是等差数列,请输出“dengcha”,如果是等比数列请输出“dengbi”,如果都不符合,请输出“no”。

样例输入 复制

5
25 20 15 10 5

样例输出 复制

dengcha

提示

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n,a[110],i;
    cin>>n;
    for(i = 1;i <= n;i++){
    	cin>>a[i];
	}
	int x = a[2] - a[1];
	double y = a[2] * 1.0 / a[1];
	int dc = 1;
	int db = 1;
	for(i = 3;i <= n;i++){
		if(a[i]-a[i-1] != x){
			dc = 0;
		}
		if(a[i] * 1.0 / a[i-1] != y){
			db = 0;
		}
	}
	if(dc == 1) cout<<"dengcha";
	else if(db == 1) cout<<"dengbi";
	else cout<<"no";
    return 0;
}