刚学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)变形而来。
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)变形而来。