Infinite Sequence
2016-06-02 11:08
381 查看
Description
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 b appears 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).
Sample Input
Input
1 7 3
Output
YES
Input
10 10 0
Output
YES
Input
1 -4 5
Output
NO
Input
0 60 50
Output
NO
正确代码:
以下为错误代码段:
个人认为两段代码,逻辑无差别,但是第二个就不对,,,请个位路过的朋友帮忙看看吧~
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 b appears 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).
Sample Input
Input
1 7 3
Output
YES
Input
10 10 0
Output
YES
Input
1 -4 5
Output
NO
Input
0 60 50
Output
NO
正确代码:
#include<iostream> using namespace std; int main(void) { int a, b, c; cin>>a>>b>>c; if(c == 0) { if(a == b) cout<<"YES"; else cout<<"NO"; } else { if(((b-a)%c == 0) && (((b-a)>= 0 && c > 0)||((b-a)<= 0 && c < 0))) cout<<"YES"; else cout<<"NO"; } return 0; }
以下为错误代码段:
#include<stdio.h> #include<iostream> using namespace std; int main(void) { long long a, b, c; cin>>a>>b>>c; if(c == 0 && a == b) { printf("YES\n"); } else if(c == 0 && a != b) { printf("NO\n"); } else { long long t; t = (b-a)%c; //cout<<t; if(t == 0) { if((a > b && c < 0) || (a < b && c > 0 )) { printf("YES"); } else { printf("NO"); } } else { printf("NO"); } } return 0; }
个人认为两段代码,逻辑无差别,但是第二个就不对,,,请个位路过的朋友帮忙看看吧~
相关文章推荐
- easyui 学习笔记
- Java并发基础知识(内存栅栏+volatile+synchronized详解+java锁优化+wait notify+AbstractQueuedSynchronizer详解+线程中断)
- discuz搬家后报错SQL:SELECT value FROM [Table]vars WHERE name=’noteexists1′的解决办法
- GITHUB来获得UE4源代码
- apue编程之参考du代码利用递归写的一个简单的du命令的源代码
- Sequence Alignment
- apue编程之参考df代码写的一个简单的df命令的源代码
- 使用QueueUserWorkerItem实现的线程池封装
- UICollectionView重用时的视图重叠
- Errors running builder 'DeploymentBuilder' on project '工程名' xxxNullpointException
- 构建属于自己的ORM框架之二--IQueryable的奥秘
- 简化原生效果_集成UITableViewCell左滑多个按钮
- ValidateRequest问题
- Android Handler,Looper,MessageQueue 机制
- iOS UITableView之cellForRowAtIndexPath和indexpathForCell分别获取指定cell和indexpath
- ios build failed 因为xcode缓存原因
- 使用CAShapeLayer与UIBezierPath画出想要的图形
- Uinty利用XML来本地保存场景中的数据
- Atmega16-定时器2-(ques=2)
- UIScrollView无法响应touch事件解决方法