CodeForces 675A Infinite Sequence(等差数列求项)
2016-08-12 21:04
381 查看
http://codeforces.com/problemset/problem/675/A
A. Infinite Sequence
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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.
Input
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.
Output
If b appears in the sequence s print
"YES" (without quotes), otherwise print "NO" (without
quotes).
Examples
input
output
input
output
input
output
input
output
Note
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.
题意:
看懂的话就知道这是等差数列求值问题。
思路:
等差数列通项公式 an = a1 + ( n - 1 ) * d ;
对应题目求出的 n 如果是正整数就满足要求。
参考 AC code:
#include<cstdio>
#include<cstring>
const int MYDD=1103;
int main() {
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF) {
if(a==b) {
puts("YES");
continue;
}
if(c!=0) {// c!= 0
int dd2;
double dd1;
dd2=(b-a)/c;
dd1=(b-a)*1.0/(c*1.0);
if((double)dd2!=dd1) puts("NO");
else {
if(dd2>0) puts("YES");
else puts("NO");
}
} else {//防止编译错误
if(a==b) puts("YES");
else puts("NO");
}
}
return 0;
}
/*By: Shyazhut
10 10 42
YES*/
A. Infinite Sequence
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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.
Input
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.
Output
If b appears in the sequence s print
"YES" (without quotes), otherwise print "NO" (without
quotes).
Examples
input
1 7 3
output
YES
input
10 10 0
output
YES
input
1 -4 5
output
NO
input
0 60 50
output
NO
Note
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.
题意:
看懂的话就知道这是等差数列求值问题。
思路:
等差数列通项公式 an = a1 + ( n - 1 ) * d ;
对应题目求出的 n 如果是正整数就满足要求。
参考 AC code:
#include<cstdio>
#include<cstring>
const int MYDD=1103;
int main() {
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF) {
if(a==b) {
puts("YES");
continue;
}
if(c!=0) {// c!= 0
int dd2;
double dd1;
dd2=(b-a)/c;
dd1=(b-a)*1.0/(c*1.0);
if((double)dd2!=dd1) puts("NO");
else {
if(dd2>0) puts("YES");
else puts("NO");
}
} else {//防止编译错误
if(a==b) puts("YES");
else puts("NO");
}
}
return 0;
}
/*By: Shyazhut
10 10 42
YES*/
相关文章推荐
- [CodeForces]-675A-Infinite Sequence
- CodeForces - 675A Infinite Sequence (模拟)水
- 【CodeForces】[675A]Infinite Sequence
- 【CodeForces】675A - Infinite Sequence
- 【CodeForces】675A - Infinite Sequence(易错)
- 【codeforces】(等差数列及等比数列求和)
- codeforces 675A Infinite Sequence
- codeforces 675A Infinite Sequence
- CodeForces 319B Psychos in a Line
- codeforces 264B
- CodeForces 455C Civilization
- 【Codeforces 760 B Frodo and pillows】+ 二分
- Codeforces 260 Recordings
- CodeForces - 681C Heap Operations
- Special Matrices - CodeForces 489 F dp
- Codeforces 617A Elephant 【水题】
- CodeForces 534B Covered Path
- Codeforces 762A k-th divisor
- CodeForces 832B Round #425 Div2 B Petya and Exam:双指针暴力模拟
- codeforces 898C. Phone Numbers(模拟+map,set,vector)