洛谷 CF675A Infinite Sequence

题目

题目描述

给出三个整数\(a,b,c,\)求b是否在以\(a\)为第一个数,公差为c的等差数列中。
例如第一个样例,等差数列为\(1,4,7,10……,7\)在这个等差数列中,输出\(YES\)。(注意,这个等差数列是无限长的)。

输入输出样例

输入 #1

1 7 3

输出 #1

YES

输入 #2

10 10 0

输出 #2

YES

输入 #3

1 -4 5

输出 #3

NO

输入 #4

0 60 50

输出 #4

NO

思路

纯模拟

代码

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    if(c==0)
    {
        if(a==b)cout<<"YES";
        else cout<<"NO";
    }
    else
    {
        if(c>0)
        {
            if(a<=b && (b-a)%c==0)cout<<"YES";
            else cout<<"NO";
        }
        else
        {
            if(a>=b && (a-b)%c==0)cout<<"YES";
            else cout<<"NO";
        }
    }

    return 0;
}
posted @ 2020-07-19 18:06  离线中……  阅读(116)  评论(0编辑  收藏  举报