求1+2+…+n不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。【简单易懂,代码可以直接运行】
利用char数组和等差数列求和公式来写这道题!
介绍sizeof函数:
sizeof函数是用来计算字节数,因为char类型是一个字节,所以sizeof数组的字节数就是数组的长度;
介绍等差数列求和公式:
Sn = n*(n+1)/2
由此我们可以得到一种解法,利用二维字符数组char[n][n+1]来求出来这道题,因为sizeof数组即是n(n+1),接下来将结果除2即可*
代码如下:
class Solution {
public:
int getSum(int n) {
char s[n][n+1];
return sizeof(s)/2;
}
};
点个