1. 程式人生 > 實用技巧 >洛谷 CF675A Infinite Sequence

洛谷 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;
}