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