说明
小明学习了等差数列和等比数列的知识。
等差数列是指从第二项起,每一项与它的前一项的差都是相等的。比如数列: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个整数n(5 <= n <= 100)
第二行有n个不相同的整数,用空格隔开。(这n个数都是1~1000之间的整数)
输出格式
如果是等差数列,请输出“dengcha”,如果是等比数列请输出“dengbi”,如果都不符合,请输出“no”。
样例
输入数据 1
5
25 20 15 10 5
Copy
输出数据 1
dengcha
#include <iostream>
using namespace std;
int main()
{
double n,a[1005];
cin >> n;
for(int i=1;i<=n;i++)
{
cin >> a[i];
}
if(a[2]/a[1]==a[3]/a[2])
{
for(int i=2;i<n;i++)
{
if(a[i]/a[i-1]!=a[i+1]/a[i])
{
cout << "no";
break;
}
if(i==n-1)
{
cout << "dengbi";
}
}
}
else if(a[1]/a[2]==a[2]/a[3])
{
for(int i=2;i<n;i++)
{
if(a[i-1]/a[i]!=a[i]/a[i+1])
{
cout << "no";
break;
}
if(i==n-1)
{
cout << "dengbi";
}
}
}
else if(a[2]-a[1]==a[3]-a[2])
{
for(int i=2;i<n;i++)
{
if(a[i]-a[i-1]!=a[i+1]-a[i])
{
cout << "no";
break;
}
if(i==n-1)
{
cout << "dengcha";
}
}
}
else if(a[1]-a[2]==a[2]-a[3])
{
for(int i=2;i<n;i++)
{
if(a[i-1]-a[i]!=a[i]-a[i+1])
{
cout << "no";
break;
}
if(i==n-1)
{
cout << "dengcha";
}
}
}
else
{
cout << "no";
}
}