题目描述
本题我又发现了新大陆:在for循环中,给i赋初值,i=x+1 和 i==x+1 完全不一样,赋初值时要用=
可是为啥呀???
因为(==)是比较运算符,用来比较两边的值是否相等,他会返回一个true或者false,不能用来赋值;
而(=)是赋值运算符;
当用==时,输入6和-5算出来的就是9:因为i==x+1是假的,一开始就是0,然后就去算1+3+5了,就成了9了!!!!!!
样例
#include<iostream>
using namespace std;
int main()
{
int x,y; //定义了以后,如果需要你输入,那就不用赋初值了
int i=0,sum=0;
cin>>x>>y;
//int i=0,sum=0;
if(x>y)
{
int t=x;
x=y;
y=t;
}
for(i=x+1;i<y;++i)
{
if(i%2!=0) sum+=i; //这里!=0也可以省略掉
}
printf("%d",sum);
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla