POJ 1658 Eva's Problem(我的水题之路——等差or等比)

Eva's Problem
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 14675 Accepted: 8878

Description

Eva的家庭作业里有很多数列填空练习。填空练习的要求是:已知数列的前四项,填出第五项。因为已经知道这些数列只可能是等差或等比数列,她决定写一个程序来完成这些练习。

Input

第一行是数列的数目t(0 <= t <= 20)。以下每行均包含四个整数,表示数列的前四项。约定数列的前五项均为不大于10^5的自然数,等比数列的比值也是自然数。

Output

对输入的每个数列,输出它的前五项。

Sample Input

2
1 2 3 4
1 2 4 8

Sample Output

1 2 3 4 5
1 2 4 8 16

Source


中文题意,不解释了。

分别比较1、2和3、4,之间是等差还是等比,然后输出得解。

注意点:
1)这个地方可能会是0 0 0 0 0,不过题中数据可能没有,需要额外判断,因为除数不可以为0.
2)输入变量记得加地址符号&(1RE T_T)

代码(1AC1RE):
#include <cstdio>
#include <cstdlib>

int main(void){
    int cha ,bi;
    int casenum, ii;
    int i, num1, num2;

    scanf("%d", &casenum);
    for (ii = 0; ii < casenum; ii++){
        scanf("%d%d", &num1, &num2);
        if (num1 != 0){
            cha = num2 - num1;
            bi = num2 / num1;
        }
        else {
            cha = num2 - num1;
            bi = -1;
        }
        printf("%d %d ", num1, num2);
        scanf("%d%d", &num1, &num2);
        if (cha == num2 - num1){
            printf("%d %d %d\n", num1, num2, num2 + cha);
        }
        else if (bi != -1 && bi == num2 / num1){
            printf("%d %d %d\n", num1, num2, num2 * bi);
        }
    }
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值