萌新求帮助

C++语言 码拜 8年前 (2017-05-07) 2324次浏览
刚学C++没多久,老师布置了一道题目,输入一个M和N。求这两个偶数合包括这两一起算进去,前提是不能用循环和IF判断还有库函数,允许用的只有三目之运算
解决方案

50

先输入大的数

#include <iostream>
using namespace std;
int getSum(int lef, int rig)
{
    return (lef<=rig) ? ((lef%2==0) ? (getSum(lef+1, rig)+lef) : getSum(lef+1, rig)) : 0;
}
int main()
{
    int m = 0;
    int n = 0;
    cin>>m>>n;
    int sum = 0;
    sum = getSum(n, m);
    cout<<sum<<endl;
    return 0;
}

100

m = (m % 2 == 1) ? m : m + 1;
n  = (n % 2 == 1) ? n : n – 1;
// 假如m是偶数。让m+1成为奇数。结果一样。
// 假如n是偶数。让n-1成为奇数。同理。
result = (m + n)(m – n) / 4;
// 从((m + n) / 2) * ((m – n) / 2)变形而来。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明萌新求帮助
喜欢 (0)
[1034331897@qq.com]
分享 (0)