描述
计算非负整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35。
输入
两个数 m 和 n,两个数以一个空格分开,其中 0 <= m <= n <= 300 。
输出
输出一行,包含一个整数,表示m 到 n(包括m 和 n )之间的所有奇数的和
这里我提供两种做法
第一种是正常的循环做法,第二种是偷鸡做法
#includeint main(){ int m,n; scanf("%d %d",&m,&n); int sum=0; for(m;m<=n;m++){ //从m开始,n结束(m自增) if(m%2!=0) //如果m为奇数,则加入进sum里 sum+=m; } printf("%d",sum); return 0; }
第二种则是偷鸡做法(没有用循环的方法)
#includeint main(){ int a,b,c,d; scanf("%d %d",&a,&b); if(a%2==0) //判断输入的a为奇数或偶数 a=a+1; else a=a; if(b%2==0) //判断输入的b为奇数或偶数 b=b-1; else b=b; c=(b-a)/2+1; //运求出输入两个数范围中最大的奇数和最小的奇数,然后用数学方式进行计算(不推荐) d=((a+b)*c)/2; printf("%d",d); return 0; }



