有关奇数运算的小问题

C++语言 码拜 8年前 (2016-04-03) 803次浏览
计算正整数 m 到 n(包括m 和 n )之间的全部奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35
#include<iostream>
using namespace std;
int main(){
int m,n,flag=0,s=0,i;
cin>>m>>n;
int a[n+1];
for( i=m;i<=n;i++){
a[i]=i;
}
for( i=m;i<=n;i++){
if(a[i]%2==0){
flag=1;
}
}
for( i=m;i<=n;i++){
if(flag==0){
s+=a[i] ;
}
}
cout<<s<<endl;
return 0;
}
解决方案

80

直接一个for循环,每次循环后i+=2不就行了?

#include<iostream>
using namespace std;
int main(){
	int m,n,s=0,i;
	cin>>m>>n;
	if(m > n)
		cout << "输入错误" << endl;
	else
	{
		for(i = 2 * (m / 2) + 1; i < n; i += 2)
			s += i;
	}
	cout<<s<<endl;
	return 0;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明有关奇数运算的小问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)