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个整数n(5 <= 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;
}