Vasya likes everything infinite. Now he is studying the properties of a sequence s, such that its first element is equal to a (s1 = a), and the difference between any two neighbouring elements is equal to c (si - si - 1 = c). In particular, Vasya wonders if his favourite integer bappears in this sequence, that is, there exists a positive integer i, such that si = b. Of course, you are the person he asks for a help.
The first line of the input contain three integers a, b and c ( - 109 ≤ a, b, c ≤ 109) — the first element of the sequence, Vasya's favorite number and the difference between any two neighbouring elements of the sequence, respectively.
If b appears in the sequence s print "YES" (without quotes), otherwise print "NO" (without quotes).
1 7 3
YES
10 10 0
YES
1 -4 5
NO
0 60 50
NO
In the first sample, the sequence starts from integers 1, 4, 7, so 7 is its element.
In the second sample, the favorite integer of Vasya is equal to the first element of the sequence.
In the third sample all elements of the sequence are greater than Vasya's favorite integer.
In the fourth sample, the sequence starts from 0, 50, 100, and all the following elements are greater than Vasya's favorite integer.
等差数列 a0=1 d=5 判断 b是否会出现在数列中
#include <bits/stdc++.h>
using namespace std;
int main()
{0
int a,b,c;
while(cin>>a>>b>>c)
{
if(a==b)
puts("YES");
else
{
if(c==0)
puts("NO");
else if((b-a)%c==0&&(b-a)/c>0)
puts("YES");
else
puts("NO");
}
}
return 0;
}

本文探讨了无限等差数列中特定整数是否存在的问题,并提供了一种简洁高效的算法解决方案。通过输入序列首项、目标整数及公差,该算法能够快速判断目标整数是否位于给定的等差数列中。
325

被折叠的 条评论
为什么被折叠?



